Hi all.
I want to configure an AM3359 pin as GPIO input on ICE dev board. The pin is GPIO1.8.
Thihs is the configuration code:
// GPIO.0 POWER ENABLE HWREG( SOC_PRCM_REGS + 0x408 ) |= 0x2; // GPIO.1 POWER ENABLE HWREG( SOC_PRCM_REGS + 0x0AC ) |= 0x2; // PINMUX SETUP HWREG( 0x44E10948) = 7 | 0; // gpio0[0] mdio_data -> LED 6a HWREG( 0x44E1094C) = 7 | 0; // gpio0[1] mdio_clk -> LED 6b HWREG( 0x44E10954) = 7 | 0; // gpio0[3] spi0_d0 -> output HWREG( 0x44E10968) = 7 | 0; // gpio1[8] uart0_ctsn -> input GPIODirModeSet(SOC_GPIO_0_REGS,0,GPIO_DIR_OUTPUT); GPIODirModeSet(SOC_GPIO_0_REGS,1,GPIO_DIR_OUTPUT); GPIODirModeSet(SOC_GPIO_0_REGS,3,GPIO_DIR_OUTPUT); GPIODirModeSet(SOC_GPIO_1_REGS,8,GPIO_DIR_INPUT);
Then a simple loop procedure get the pin state and toggles accordingly a led in ICE board and a GPIO pin:
if (GPIOPinRead(SOC_GPIO_1_REGS,8)) { GPIOPinWrite(SOC_GPIO_0_REGS, 3,GPIO_PIN_HIGH); GPIOPinWrite(SOC_GPIO_0_REGS, 0,GPIO_PIN_HIGH); } else { GPIOPinWrite(SOC_GPIO_0_REGS, 3,GPIO_PIN_LOW); GPIOPinWrite(SOC_GPIO_0_REGS, 0,GPIO_PIN_LOW); }
The GPIOPinWrite() is working, but the GPIOPinRead() always returns FALSE, so nothing lits up.
Suggestions?