完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我暂时用3个DS18B20使用单总线通信,基本上是没有问题的,但程序和运行了一会儿偶尔(时间长短不一定)就有一个或者两个温度出现状况,我验证了一下,发现问题出在了ROM匹配上,复位一下,就OK了,想请问一下大神,求指点一二。
[AppleScript] 纯文本查看 复制代码 while(1){Match_ROM(ID1);LcdDisplay(Read_Temp(ID1),1);delayms(200);Match_ROM(ID2);LcdDisplay(Read_Temp(ID2),2);delayms(200);Match_ROM(ID3);LcdDisplay(Read_Temp(ID3),3);delayms(200);if(flag){Uart_flag = 1;flag = 0;ES = 1;}}}void Match_ROM(unsigned char *tab){unsigned char i;Ds18b20Init();delayms(2);Ds18b20WriteByte(0x55);//match ROMfor(i=0;i<8;i++){Ds18b20WriteByte(tab);delayms(2);}Ds18b20WriteByte(0x44); //convert tempdelayms(2);} |
|
相关推荐
1个回答
|
|
我发现了一个问题,好像是我串口通信使用了中断方式,可能是在匹配ROM时发生了中断请求,等恢复现场时就出现了错误,会不会是这样,大神们,求指点
|
|
|
|
只有小组成员才能发言,加入小组>>
2976 浏览 9 评论
2692 浏览 16 评论
3214 浏览 1 评论
8445 浏览 16 评论
3782 浏览 18 评论
6962浏览 6评论
求助,请问MS51FB9AE带隙电压能作为侦测的基准电压吗?
7457浏览 3评论
6959浏览 3评论
支持UART-to-BLE透传的新唐NuTool – BLE ATCMD开发工具推荐
5805浏览 3评论
9375浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 20:15 , Processed in 0.732171 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号