本人今天看了一小段程序,关于GPIO口的设置,其中有两个语句为GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0; 和GpioCtrlRegs.GPCPUD.bit.GPIO82 = 0;意思是这两个GPIO口启用内部上拉功能。本人之前对内部上拉多多少少有点疑问,所以做了一个实验。首先把这两句语句隐掉,然后运行程序,在运行程序过程中,我按住复位键,发现GPIO0引脚输出低电平,而GPIO82引脚输出高电平;我不知道是什么原因。当我重新把这两句语句加进去后,在运行我的程序,在运行程序过程中,我还按住复位键,发现GPIO0还是输出低电平和GPIO82还是输出高电平。还是不明白啊。之后我在GPIO0上面从外部上拉了一个5k的电阻,当然这两句语句还是加进去的,运行成程序,按住复位键,发现GPIO0引脚输出高点平,这就怪了。另外在GPIO82引脚下拉了一个5k的电阻,运行程序,按住复位键,发现GPIO82引脚输出电平只有0.6V左右。就这了。实验就是这种情况。另外DSP2812和DSP2407都没有PUD这个寄存器,也不存在设置上拉功能。现在感觉28335的上拉功能就是个摆设。 |