Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Compiler/TMS320F28062: Toggleing Pins is not working

$
0
0

Part Number:TMS320F28062

Tool/software: TI C/C++ Compiler

Hello,

Again I have a really weird behavior of the f28062. When I have the following while loop 

while(1){

GpioDataRegs.GPADAT.bit.GPIO6 = 1; GpioDataRegs.GPADAT.bit.GPIO7 = 0;

GpioDataRegs.GPADAT.bit.GPIO6 = 0; GpioDataRegs.GPADAT.bit.GPIO7 = 1;

GpioDataRegs.GPADAT.bit.GPIO6 = 0; GpioDataRegs.GPADAT.bit.GPIO7 = 0;

}

at the end of the loop I would expect GPIO7 to be LOW, but it isn`t. At the end it is still HIGH (No I didn`t set the Breakpoint to the wrong location, the breakpoint is in the first line)

So the code stops at the first line, I hit the "Run" button, the debugger stops at the first line again and GPIO7 is still HIGH. I ca see it in the registers and also on the oscilloscope.

BUT if I step through the code line by line it is working fine.. Why?

It is not only this, if I don`t set any breakpoints and let the code run, I can see that while GPIO6 is toggleing like 1000000 Times, GPIO7 is always HIGH and only goes LOW once in a while.

When I write this code

while(1){

GpioDataRegs.GPADAT.bit.GPIO7 = 1;

GpioDataRegs.GPADAT.bit.GPIO7 = 0;

}

GPIO7 toggles like it should.


So I thought, ok then I will try a different way by using GPATOGGLE. Here is the code:

while(1){

GpioDataRegs.GPATOGGLE.all = 6;

}

Here I would expect GPIO to toggle between HIGH an LOW but it is doing nothing. The toggle register is 0 and the corresponding bit in GPADAT also stays on 0.


What am I doing wrong?

Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>