Hello,
I am trying to do a simple GPIO read of a signal between two devices. I have a DSP that drives a GPIO pin on the uC to a logic high state, and I have confirmed this in the lab with a scope. This seems very straight forward but the pin read returns as 0 even when on the scope we see that the pin is being driven high. One suspicion we have is that we are utilizing pin 128 (PD7), which is part of SSI2 module.
Our usage of SSI2 only configures PD0, PD1 and PD3 however, so I do not see how this could create an issue. To take away any doubt I removed components of the code that configured/used the SSI2 module and we still observed the same behavior. I am able to make other GPIO pin reads successfully on other pins, but for some reason I cannot get my desired behavior for pin 128.
Below is the pin configuration/initialization and line that is called to read the GPIO pin state:
#define DSP_MCU_CMD_MODE_STATE_SYSCTL_PERIPH SYSCTL_PERIPH_GPIOD #define DSP_MCU_CMD_MODE_STATE_GPIO_PORT_BASE GPIO_PORTD_BASE #define DSP_MCU_CMD_MODE_STATE_GPIO_PIN GPIO_PIN_7 // Pin Configuration ROM_SysCtlPeripheralEnable(DSP_MCU_CMD_MODE_STATE_SYSCTL_PERIPH); ROM_GPIOPinTypeGPIOInput(DSP_MCU_CMD_MODE_STATE_GPIO_PORT_BASE, DSP_MCU_CMD_MODE_STATE_GPIO_PIN); // Some time later... uint32_t temp = ROM_GPIOPinRead(DSP_MCU_CMD_MODE_STATE_GPIO_PORT_BASE, DSP_MCU_CMD_MODE_STATE_GPIO_PIN);
Thanks,
Bryan