DSP2802x_Gpio.c中InitGpio()函数中对端口是否上拉的配置如下:
// Pull-ups can be enabled or disabled.
GpioCtrlRegs.GPAPUD.all = 0x0000; // Pullup's enabled GPIO0-GPIO31
GpioCtrlRegs.GPBPUD.all = 0x0000; // Pullup's enabled GPIO32-GPIO34
//GpioCtrlRegs.GPAPUD.all = 0xFFFF; // Pullup's disabled GPIO0-GPIO31
//GpioCtrlRegs.GPBPUD.all = 0xFFFF; // Pullup's disabled GPIO32-GPIO34
但GpioCtrlRegs.GPAPUD.all是32位值,禁止上拉时若使用
GpioCtrlRegs.GPAPUD.all = 0xFFFF; // Pullup's disabled GPIO0-GPIO31
我认为只是禁止了GPIO0-GPIO15,GpioCtrlRegs.GPAPUD.bit.GPIO16-GpioCtrlRegs.GPAPUD.bit.GPIO31的值是0,上拉依然使能。
求解??
手册中有关于GPIOPUD寄存器的说明,可以看看手册。
手册中写的GPAPUD为32位
我认为若要禁止 GPIO0-GPIO31的上拉 应写为:
GpioCtrlRegs.GPAPUD.all = 0xFFFFFFFF;
不知对不对?