aglen_still 发表于 2015-6-24 14:54:52

明明是高电平,什么情况下会读上来低呢?

本帖最后由 aglen_still 于 2015-6-24 16:36 编辑

已经把D口 TRISD 方向设置成了0xff 即输入
万用表量电压都大于4.2V但是通过watch 看寄存器PORTD一直为0xF0;
可能是什么原因?
东西都是自动加密的只能上图了
以下分别是IO初始化代码,单片机接口和外围电路,只是RD口有问题,
高手看看是不是我硬件有问题,这应该和配置位没关系吧
我把软件删的只剩IO初始化和主函数了,依然读上来的是0xF0 图中的H1和H2和H3 H4,本应高电平,但读到是确是低电平。

jfk_km 发表于 2015-6-24 15:02:17

是不是还有关键性的寄存器没配置?其他的IO口也那样吗?

aglen_still 发表于 2015-6-24 15:26:14

jfk_km 发表于 2015-6-24 15:02
是不是还有关键性的寄存器没配置?其他的IO口也那样吗?

IO设置为输入,还有别的要设置吗?应该是0xFF 但一直显示0xF0,我从单片机引脚处量都是高电平啊

lyrics131415 发表于 2015-6-24 15:41:39

事出必有因,望楼主早日找出原因

12tangyang12 发表于 2015-6-24 15:49:14

有没有配置上拉?

剑舞 发表于 2015-6-24 16:50:20

方向没设对吧

huarana 发表于 2015-6-24 16:50:33

关闭模拟功能,要我重复多少遍 - -!

sj1125055001 发表于 2015-6-24 17:58:13

客观角度来说,寄存器的值来的肯定是有原因的。如果实测是大于4.2软件读到不是,那么很有可能是中间的地方除了问题,比如,是不是有分压   或者是不是电压有抖动而又没有去斗

aglen_still 发表于 2015-6-24 18:58:34

huarana 发表于 2015-6-24 16:50
关闭模拟功能,要我重复多少遍 - -!

怎么关啊,大哥
我看到有问题的引脚有对应的比较器对应端口,是那个原因吗

aglen_still 发表于 2015-6-24 19:01:16

sj1125055001 发表于 2015-6-24 17:58
客观角度来说,寄存器的值来的肯定是有原因的。如果实测是大于4.2软件读到不是,那么很有可能是中间的地方 ...

你好,
我量的是MCU引脚处的电压,都大于4.2V,一直显示为低,应该不是去抖的问题
7楼那位仁兄说 关闭模拟功能,我不知道什么意思

lingdianhao 发表于 2015-6-24 19:49:38

楼主用的什么CPU,一直没看到?

youmcu 发表于 2015-6-24 20:03:44

不知你具体的芯片型号,但图上RD0-RD3有CxINA和xINB复用(应该是比较器)功能,把这个比较器功能关了吧!

aglen_still 发表于 2015-6-24 20:12:10

lingdianhao 发表于 2015-6-24 19:49
楼主用的什么CPU,一直没看到?

哦 谢谢lf18F4680

loggerjy 发表于 2015-6-25 07:40:33

看看这个寄存器

loggerjy 发表于 2015-6-25 07:47:09

如果是设计AD0~AD10的管脚可以看这个寄存器:

jyrpxj 发表于 2015-6-25 08:57:07

关闭模拟功能,要我重复多少遍 - -!

aglen_still 发表于 2015-6-25 12:46:35

解决了,没错,确实是:
"关闭模拟功能,要我重复多少遍 - -!"
在看PORTD相关寄存器时,发现和ANCON1有关系, 在这个寄存器里关闭模拟功能

aglen_still 发表于 2015-6-25 12:52:07

感谢:
huarana、loggerjy、jyrpxj的准确答案
谢谢
页: [1]
查看完整版本: 明明是高电平,什么情况下会读上来低呢?