Hi,
I found something odd while playing with the GPIO's of the TMS320f28069 I can't drive low the GPIO after setting it high why? do I need to disable the pullup resistors?. Here is my code:
void Gpio_setup(void)
{
EALLOW;
//MemoryA select.
// Enable GPIO outputs on GPIO8
GpioCtrlRegs.GPAPUD.bit.GPIO8 = 0; // Enable pullup on GPIO8
GpioDataRegs.GPASET.bit.GPIO8 = 0; // Load output latch
GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 0; // GPIO8 = GPIO8
GpioCtrlRegs.GPADIR.bit.GPIO8 = 1; // GPIO8 = output
//Pin that controls CAN Tranciver.
GpioCtrlRegs.GPBPUD.bit.GPIO50 = 0;
GpioDataRegs.GPBSET.bit.GPIO50 = 1;
GpioCtrlRegs.GPBMUX2.bit.GPIO50 = 0;
GpioCtrlRegs.GPBDIR.bit.GPIO50 = 1;
EDIS;
}
void ToggleCSmemA()
{
EALLOW;
GpioDataRegs.GPASET.bit.GPIO8 = 1;
GpioDataRegs.GPASET.bit.GPIO8 = 0;
EDIS;
}
after calling ToggleCSmemA() the ping won't go back to low.