数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 2414|回复: 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 | 显示全部楼层
游客请登录后查看回复内容

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2022-6-26 16:41:18 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-27 08:13:26 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-27 10:51:36 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-27 11:46:51 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-8-14 11:54:29 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-8-22 14:40:45 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-8-22 16:04:12 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-23 15:01:02 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-8-26 19:12:44 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-12-16 17:15 , Processed in 0.234000 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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