Other Parts Discussed in Thread: Z-STACK, CC2530
|
首先谢谢各位大牛指点。 程序代码见附件。 谢谢! |
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: Z-STACK, CC2530
|
首先谢谢各位大牛指点。 程序代码见附件。 谢谢! |
你从ds18b20的数据手册中可以看到,MCU要向ds18b20写入指令,除了要从通讯口写入指令所对应的一串高低电平外,每个写入的电平的持续时间也是有严格定义的,否则将会导致操作ds18b20失败,而所写入的电平的持续时间就是通过MCU的延时来实现的,假设数据手册上标明写入一个高电平后需要持续大于60us然后写入一个低电平持续大于2us才能再写入一个高电平,则对应的代码为:iodata = 1; delay60us(); iodata = 0; delay2us(); iodata = 1; ...... 你需要检查的就是这些延时函数所产生的延时时间是否正确,这些延时时间不正确将会导致电平的持续时间不足或过大,就极有可能造成写入指令失败。
我现在也是遇到了这个情况,第一次读的温度是85,以后就是127了,请问您解决了吗?问题出在了哪里?