Hi,
Sorry for asking a simple question for you. I am trying to do a button example on C2000 F28027, I am using GPIO12 Button. But the system doesn't work. Whenever I push the button, the system input status always "1".
I copied the code. Did I make a mistake?
Sincerely,
#include "DSP28x_Project.h"
#define BUTTON_GPIO GpioDataRegs.GPADAT.bit.GPIO12
void main(void){
#ifdef _FLASH
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
#endif
InitSysCtrl();
EALLOW;
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;
GpioCtrlRegs.GPADIR.bit.GPIO1 = 1;
GpioCtrlRegs.GPADIR.bit.GPIO2 = 1;
GpioCtrlRegs.GPADIR.bit.GPIO3 = 1;
GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0;
GpioCtrlRegs.GPAQSEL1.bit.GPIO12 = 3;
GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1;
EDIS;
int status;
while(1){
status = BUTTON_GPIO;
if (BUTTON_GPIO == 1){
GpioDataRegs.GPASET.bit.GPIO0 = 1;
GpioDataRegs.GPASET.bit.GPIO1 = 1;
GpioDataRegs.GPASET.bit.GPIO2 = 0;
GpioDataRegs.GPASET.bit.GPIO3 = 0;
}
else{
GpioDataRegs.GPASET.bit.GPIO0 = 0;
GpioDataRegs.GPASET.bit.GPIO1 = 0;
GpioDataRegs.GPASET.bit.GPIO2 = 1;
GpioDataRegs.GPASET.bit.GPIO3 = 1;
}
}
}