Other Parts Discussed in Thread: C2000WARE, TMDSCNCD28027, TMS320F28027
Tool/software: Code Composer Studio
Hello Everyone,
I have written the following code in which my objective is to understand the INTERNAL PULL UP Resistor.The question is When I am using GPIO(12-31) as a input then whether I disable or enable the GPAPUD the GPIO is always behaving like a pull down i.e. '0' on output which is i think opposite to what datasheet suggest ,Can anybody please help to find out and understand the problem?
#include "DSP28x_Project.h" void GPIO_SELECT(void); void EPWM1_Example1(void); void Gpio_Toggle(void); int main(void) { int a; InitSysCtrl(); GPIO_SELECT(); for(;;) { a = GpioDataRegs.GPADAT.bit.GPIO12; if(a == 1) EPWM1_Example1(); else Gpio_Toggle(); } return 0; } void GPIO_SELECT(void) { EALLOW; GpioCtrlRegs.GPAPUD.bit.GPIO0 =1; GpioCtrlRegs.GPAPUD.bit.GPIO1 =1; GpioCtrlRegs.GPAPUD.bit.GPIO12 =0; GpioCtrlRegs.GPAMUX1.bit.GPIO0=1; GpioCtrlRegs.GPAMUX1.bit.GPIO1=1; GpioCtrlRegs.GPAMUX1.bit.GPIO2=0; GpioCtrlRegs.GPAMUX1.bit.GPIO12=0; GpioCtrlRegs.GPADIR.bit.GPIO2=1; GpioCtrlRegs.GPADIR.bit.GPIO12=0; EDIS; } void EPWM1_Example1(void) { GpioDataRegs.GPACLEAR.bit.GPIO2=1; }; void Gpio_Toggle() { GpioDataRegs.GPASET.bit.GPIO2=1; };
THANKS in Advance