找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机ds18b20程序读取温度数据异常

查看数: 2220 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-3-21 17:03

正文摘要:

通过8h8单片机获取ds18b20原始数据分为低8位和高8位,后通过串口3高低位数据发送到上位机显示,不知道是哪里程序出现了问题,上位机显示只有一个8位数据而且一直都是0xff不变动,一开始是以为是ds18b2的读写程序出现 ...

回复

ID:1063134 发表于 2023-3-22 11:31
LUREN1 发表于 2023-3-22 09:03
我遇到的问题和你差不多,有应答但返回数据错误,因为我更换过两个数据都是这样,所以才觉得会不会是程序 ...

网上18b20十个九个坏,用那种带线的质量好,我就是用带线的后才知道原来的18B20是坏的
ID:577554 发表于 2023-3-22 09:03
wuyimin456 发表于 2023-3-21 23:30
我遇到过ds18b20坏的,应答都有但读不出数据,后来换了一个才发现这个问题

我遇到的问题和你差不多,有应答但返回数据错误,因为我更换过两个数据都是这样,所以才觉得会不会是程序问题导致的
ID:577554 发表于 2023-3-22 08:58
Hephaestus 发表于 2023-3-21 19:11
如果第一个数据不是ff的话,应该是119行写的太草率了,118行给SBUF赋值不意味着发送已经完成,9600bps这么 ...

这个问题确实没有想到,其实这个程序还有一个问题就是:我发送的是两个8位数据,但上位机一次只显示出一个8位,根据你的建议加延时后,确实解决这个问题,但是排除串口,通过debug硬件仿真查看变量发现两个变量也都是ffC:\Users\dell\Desktop\360截图20230322085316936.jpg
ID:1063134 发表于 2023-3-21 23:30
我遇到过ds18b20坏的,应答都有但读不出数据,后来换了一个才发现这个问题
ID:883242 发表于 2023-3-21 19:11
如果第一个数据不是ff的话,应该是119行写的太草率了,118行给SBUF赋值不意味着发送已经完成,9600bps这么低的波特率给SBUF赋值后1ms发送才会完成,而单片机可以执行几千条指令。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表