明明是高电平,什么情况下会读上来低呢?
本帖最后由 aglen_still 于 2015-6-24 16:36 编辑已经把D口 TRISD 方向设置成了0xff 即输入
万用表量电压都大于4.2V但是通过watch 看寄存器PORTD一直为0xF0;
可能是什么原因?
东西都是自动加密的只能上图了
以下分别是IO初始化代码,单片机接口和外围电路,只是RD口有问题,
高手看看是不是我硬件有问题,这应该和配置位没关系吧
我把软件删的只剩IO初始化和主函数了,依然读上来的是0xF0 图中的H1和H2和H3 H4,本应高电平,但读到是确是低电平。
是不是还有关键性的寄存器没配置?其他的IO口也那样吗? jfk_km 发表于 2015-6-24 15:02
是不是还有关键性的寄存器没配置?其他的IO口也那样吗?
IO设置为输入,还有别的要设置吗?应该是0xFF 但一直显示0xF0,我从单片机引脚处量都是高电平啊
事出必有因,望楼主早日找出原因 有没有配置上拉? 方向没设对吧 关闭模拟功能,要我重复多少遍 - -!
客观角度来说,寄存器的值来的肯定是有原因的。如果实测是大于4.2软件读到不是,那么很有可能是中间的地方除了问题,比如,是不是有分压 或者是不是电压有抖动而又没有去斗 huarana 发表于 2015-6-24 16:50
关闭模拟功能,要我重复多少遍 - -!
怎么关啊,大哥
我看到有问题的引脚有对应的比较器对应端口,是那个原因吗 sj1125055001 发表于 2015-6-24 17:58
客观角度来说,寄存器的值来的肯定是有原因的。如果实测是大于4.2软件读到不是,那么很有可能是中间的地方 ...
你好,
我量的是MCU引脚处的电压,都大于4.2V,一直显示为低,应该不是去抖的问题
7楼那位仁兄说 关闭模拟功能,我不知道什么意思 楼主用的什么CPU,一直没看到? 不知你具体的芯片型号,但图上RD0-RD3有CxINA和xINB复用(应该是比较器)功能,把这个比较器功能关了吧! lingdianhao 发表于 2015-6-24 19:49
楼主用的什么CPU,一直没看到?
哦 谢谢lf18F4680 看看这个寄存器
如果是设计AD0~AD10的管脚可以看这个寄存器:
关闭模拟功能,要我重复多少遍 - -! 解决了,没错,确实是:
"关闭模拟功能,要我重复多少遍 - -!"
在看PORTD相关寄存器时,发现和ANCON1有关系, 在这个寄存器里关闭模拟功能 感谢:
huarana、loggerjy、jyrpxj的准确答案
谢谢
页:
[1]