[讨论] GPIO库函数问题

冰空影   2013-4-25 21:26 楼主
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,上拉依然使能。

求解??


回复评论 (4)

手册中有关于GPIOPUD寄存器的说明,可以看看手册。
点赞  2013-4-26 10:55
手册中写的GPAPUD为32位
我认为若要禁止 GPIO0-GPIO31的上拉 应写为:
GpioCtrlRegs.GPAPUD.all = 0xFFFFFFFF;   
不知对不对?


点赞  2013-4-26 11:13
我觉得你是对的,试了下代码也是对的。
点赞  2013-4-26 23:55
引用: 原帖由 hourdown 于 2013-4-26 23:55 发表
我觉得你是对的,试了下代码也是对的。

嗯 谢谢
点赞  2013-5-2 21:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复