请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
您好!
很抱歉为您提出一个简单的问题。 我正在尝试在 C2000 F28027上执行按钮示例、我正在使用 GPIO12按钮。 但系统无法正常工作。 每当我按下按钮时、系统输入状态始终为"1"。
我复制了代码。 我是不是犯了个错误?
此致、
#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;
}
}
}