cos12a-21701 发表于 2016-5-5 12:27
先确认硬件是否连接好,IO是否连对,有无上下拉,测试电压是否正常(包括电源,IO口)。
调试程序IO输出,是 ...
谢谢。现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
taonsh 发表于 2016-5-6 15:53
解决了没?这个不难啊,延时改一下试试。
还没解决。现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
cos12a-21701 发表于 2016-5-5 12:27
先确认硬件是否连接好,IO是否连对,有无上下拉,测试电压是否正常(包括电源,IO口)。
调试程序IO输出,是 ...
嗯,这些都没问题了。现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
watershade 发表于 2016-5-4 22:22
个人觉得不应该改变输入输出状态。建议用USART设置成1-wire试试。
嗯,现在把输出模式改成开漏的,就不用转换输入输出模式了。能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
dsjsjf 发表于 2016-5-4 13:25
设置成开漏输出,外接上拉电阻,使用时不需要切换输入输出,试试
嗯,这样做了。现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
a6552918 发表于 2016-5-4 13:26
应该配置为输入浮空。
现在把输出模式设置为开漏的了,不用不断转换输入输出模式,能读数据,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
jinglixixi 发表于 2016-5-4 13:27
DS18B20数据端是否加了上拉电阻。
有连上拉电阻,现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
zhoupxa 发表于 2016-5-4 13:32
GPIO应设置为漏极开路
嗯,设置为开漏了,现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
huaiqiao 发表于 2016-5-4 13:37
其实这种Onewire的,要注意时序问题
嗯,是啊。之前延时程序有问题,现在调回来了,现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0
power568 发表于 2016-5-4 13:41
确定总线时间和手册给出的时间是否严格匹配,最好留有余量。。。
有余量的,现在能读数据了,但是读出来的数据,高八位要么全为0,要么全为1;低八位总是为0