看原理图,用的是GPIO64~71
作为最常用的输入引脚,主要配置功能选择和方向选择
所以程序的关键配置代码:
//设置DSP部分的按键和拨码开关相关管脚
EALLOW;
//管脚功能选择
GpioCtrlRegs.GPCMUX1.bit.GPIO64 = 0; // KEY3
GpioCtrlRegs.GPCMUX1.bit.GPIO65 = 0; // KEY2
GpioCtrlRegs.GPCMUX1.bit.GPIO66 = 0; // KEY1
GpioCtrlRegs.GPCMUX1.bit.GPIO67 = 0; // KEY0
GpioCtrlRegs.GPCMUX1.bit.GPIO68 = 0; // SW1-P1
GpioCtrlRegs.GPCMUX1.bit.GPIO69 = 0; // SW1-P2
GpioCtrlRegs.GPCMUX1.bit.GPIO70 = 0; // SW1-P3
GpioCtrlRegs.GPCMUX1.bit.GPIO71 = 0; // SW1-P4
//输入输出方向设定
GpioCtrlRegs.GPCDIR.bit.GPIO64 = 0;//input
GpioCtrlRegs.GPCDIR.bit.GPIO65 = 0;//input
GpioCtrlRegs.GPCDIR.bit.GPIO66 = 0;//input
GpioCtrlRegs.GPCDIR.bit.GPIO67 = 0;//input
GpioCtrlRegs.GPCDIR.bit.GPIO68 = 0;//input
GpioCtrlRegs.GPCDIR.bit.GPIO69 = 0;//input
GpioCtrlRegs.GPCDIR.bit.GPIO70 = 0;//input
GpioCtrlRegs.GPCDIR.bit.GPIO71 = 0;//input
EDIS;
使用的是查询方式,无限循环查询输入:
while(1)
{
//读取按键对应的管脚状态
KeyValue = GpioDataRegs.GPCDAT.all & 0x000000FF;
}