Part Number: TMS320F28388D
Other Parts Discussed in Thread: TMDSCNCD28388D, TMDSHSECDOCK,
I am working with the TMS320F28388D on the TMDSCNCD28388D Control Card (Eval Board) used in the 180-pin TMDSHSECDOCK docking station.
Everything has been working good with this board until I tried an output on one of the GPIOs. It outputs correctly, but it seems to corrupt 2 other GPIO outputs.
Specifically, I am turning on LED1 and LED2 on the board by outputting LOW from GPIO 31 and 34, respectively, since they are wired to turn on with a GPIO LOW output.
This works good by doing this:
GpioDataRegs.GPADAT.bit.GPIO31 = 0; // Turn on LED1.
GpioDataRegs.GPBDAT.bit.GPIO34 = 0; // Turn on LED2.
Next, I try to turn on LED1 and turn off LED2 by writing 0 and 1 to GPIO 31 and 34, respectively like this:
GpioDataRegs.GPADAT.bit.GPIO31 = 0; // Turn on LED1.
GpioDataRegs.GPBDAT.bit.GPIO34 = 1; // Turn off LED2.
and this works fine.
However, if I then output HIGH from GPIO45 by doing this (which is not connected to any LED, just a scope probe).
GpioDataRegs.GPBDAT.bit.GPIO45 = 1;
this correctly outputs a high from GPIO45
BUT
both LEDs turn on immediately, indicating that both GPIO31 and GPIO34 have both gone back to output of 0.
If I then reverse the order setting GPIO45 before GPIO31 and GPIO34 everything is fine: LED1 is ON, LED2 is OFF, and GPIO45 output is HIGH.
Any ideas why reversing this order gets rid of that glitch-like behavior?
Thanks.
Any ideas why this would be happening.