数码之家

 找回密码
 立即注册
搜索
查看: 1869|回复: 10

[STM] 分享 串口模拟单总线1-wire时序读取18B20数据

[复制链接]
发表于 2022-6-26 09:10:28 | 显示全部楼层 |阅读模式
老规矩先上链接
链接:https://pan.baidu.com/s/1vExYHxNHbYgQnrExxoYyQg
提取码:0000

用串口模拟单总线时序这件事很多人研究过,美信官方也给过技术文档,在我的压缩包里也有,不多说了。
程序结构就是在定时中断里读取18B20数据并启动下一次转换,之所以用这样的顺序是因为启动转换后有一个转换时间需要等待,先读取再转换就一路执行下去不耽误时间。
温度原始数据通过串口DMA自动接收并产生DMA中断,中断里设置标志位给主程序用。
主程序收到标志位后对原始数据进行处理,包括正负值判断、处理小数位、送串口助手显示。
在这个程序里连接18B20的串口1使用半双工模式,这样可以省出一个RX脚当普通IO或者分配给别的外设用。配置上虽然是半双工,但是可以一直接收数据的,在时间上不存在收——发——收——发这样的交替,就是说可以直接进行回环测试不需要短接外部两个IO了。
程序里用了两个串口,串口1连接18B20,差串口2对外输出温度数据。串口1配置成开漏、上拉,不需要外部上拉电阻连接18B20数据脚。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +50 收起 理由
家睦 + 50

查看全部打赏

 楼主| 发表于 2022-6-26 09:17:40 | 显示全部楼层
红色板子上的东西都是白嫖的,除了焊锡、红外接收头与18B20板子是立创开源项目上面别人现成的,但是也被坑了一下,不知道是作者故意还是无意的。那一排调试、串口插针那里把串口1与串口2的丝印弄混淆了,我写好的程序一点反应没有才发现这个问题。
板子在嘉立创免费打的,板子上的那些芯片全是在云汉芯城白嫖的,618搞活动送了100.1-100的优惠券,我自己的号+朋友的号一共送了5张券,STM32G031撸了几十颗。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2022-6-26 16:41:18 | 显示全部楼层
网盘造福无币的,赞一个。
回复 支持 反对

使用道具 举报

发表于 2022-6-27 08:13:26 | 显示全部楼层
谢谢楼主的经验分享!收藏学习!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-27 10:51:36 | 显示全部楼层
mmxx2015 发表于 2022-6-26 16:41
网盘造福无币的,赞一个。

扣那么多M币,我自己下起来也心疼。
回复 支持 反对

使用道具 举报

发表于 2022-6-27 11:46:51 | 显示全部楼层
ckvlhf 发表于 2022-6-27 10:51
扣那么多M币,我自己下起来也心疼。

贴心!支持!
回复 支持 反对

使用道具 举报

发表于 2022-8-14 11:54:29 | 显示全部楼层
温度处理显示部分可以优化一下,读取出来的Temp值不用判断正负值,只要Temp变量的数据类型为有符号的short类型,然后temp*0.0625就可以了 ,整数部分temp>>4等同于temp/16等同于temp*0.0625,小数部分为(temp&0x000f)*0.0625,整合起来就是temp*0.0625 ,sprintf函数本身可以直接处理正负值,

sprintf(buffer,"%.1f C", Temp*0.0625);
可以直接得到温度值的字符表达式 .1f是取小数点后1位 想取几位就改成.几
回复 支持 反对

使用道具 举报

发表于 2022-8-22 14:40:45 | 显示全部楼层
串口模拟单线协议,果然有趣
回复 支持 反对

使用道具 举报

发表于 2022-8-22 16:04:12 | 显示全部楼层
谢谢楼主分享!收藏!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-23 15:01:02 | 显示全部楼层
xiaoyao_mdj 发表于 2022-8-14 11:54
温度处理显示部分可以优化一下,读取出来的Temp值不用判断正负值,只要Temp变量的数据类型为有符号的short类 ...

谢谢,这个方法更好!
回复 支持 反对

使用道具 举报

发表于 2022-8-26 19:12:44 | 显示全部楼层
xiaoyao_mdj 发表于 2022-8-14 11:54
温度处理显示部分可以优化一下,读取出来的Temp值不用判断正负值,只要Temp变量的数据类型为有符号的short类 ...

学习了 这个需要收藏下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-2 06:58 , Processed in 0.171601 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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