找回密码
 立即注册
查看: 255|回复: 9

驱动DS18B20感想

[复制链接]
已绑定手机

74

主题

1003

回帖

3653

积分

论坛元老

初出茅庐&无甚本事

积分
3653
发表于 2026-3-23 18:32:07 | 显示全部楼层 |阅读模式
驱动DS18B20感想

截图202603231827302912.jpg

学单总线通信
看时序图
改bug
看了他人的程序
使用数据倍乘避免浮点数运算
在无启用硬件浮点单元情况下
加快数据处理速度

偶尔看看玩玩
回复

使用道具 举报 送花

已绑定手机

10

主题

409

回帖

1119

积分

金牌会员

积分
1119
发表于 2026-3-23 20:12:56 | 显示全部楼层
4位小数?骗自己的吧。
回复

使用道具 举报 送花

已绑定手机

74

主题

1003

回帖

3653

积分

论坛元老

初出茅庐&无甚本事

积分
3653
 楼主| 发表于 2026-3-23 21:55:47 | 显示全部楼层
wul*** 发表于 2026-3-23 20:12
4位小数?骗自己的吧。

二进制4位
1

2的4次方
即精度
1÷16=0.0625
偶尔看看玩玩
回复

使用道具 举报 送花

已绑定手机

52

主题

2863

回帖

3155

积分

荣誉版主

积分
3155
发表于 2026-3-23 23:39:31 | 显示全部楼层
既然使用了18B20这种异步单总线的器件,就完全没必要考虑加速数据处理速度了,
因为瓶颈在通讯时序和传感器数据刷新速率上
如果不玩单总线多点采集的话,强烈推荐NST1001之类的脉冲数字传感器,或者各种I2C接口的传感器
起码不用担心各种中断打断时序影响读取数据。
~~~
回复

使用道具 举报 送花

已绑定手机

74

主题

1003

回帖

3653

积分

论坛元老

初出茅庐&无甚本事

积分
3653
 楼主| 发表于 2026-3-24 13:54:33 | 显示全部楼层
晓*** 发表于 2026-3-23 23:39
既然使用了18B20这种异步单总线的器件,就完全没必要考虑加速数据处理速度了,
因为瓶颈在通讯时序和传感器 ...

异步单总线通信1byte耗时大几百us
我之前想还在想RTOS如何处理
偶尔看看玩玩
回复

使用道具 举报 送花

已绑定手机

10

主题

195

回帖

1636

积分

金牌会员

积分
1636
发表于 2026-3-24 15:22:39 | 显示全部楼层
DS18B20可以用定时器跑状态机,效率很高,不占用什么CPU。做好了可以数码管扫描,串口modbus通信,18B20采集同时进行不中断。我写有也发出来了。
回复

使用道具 举报 送花

已绑定手机

74

主题

1003

回帖

3653

积分

论坛元老

初出茅庐&无甚本事

积分
3653
 楼主| 发表于 2026-3-24 15:37:40 | 显示全部楼层
cn*** 发表于 2026-3-24 15:22
DS18B20可以用定时器跑状态机,效率很高,不占用什么CPU。做好了可以数码管扫描,串口modbus通信,18B20采 ...

非常感谢
状态空闲时释放CPU
偶尔看看玩玩
回复

使用道具 举报 送花

已绑定手机

10

主题

409

回帖

1119

积分

金牌会员

积分
1119
发表于 2026-3-24 16:21:02 | 显示全部楼层

实际使用中保留1位小数为佳
回复

使用道具 举报 送花

已绑定手机

52

主题

2863

回帖

3155

积分

荣誉版主

积分
3155
发表于 2026-3-24 18:49:09 | 显示全部楼层
18B20天生是为Dallas自家带有1-Wire总线接口的单片机而生的,对于不带1-Wire总线的单片机,软件模拟时序是唯一的使用方式,
相对于用傻延时做时序,用状态机效率确实会降低不少时钟周期占用,
但是状态机的扫描周期仍然受制于1-Wire总线时序的最小扫描周期约束,且读写时序期间不允许出现大于状态机周期的其他中断事件发生。
如果玩RTOS,还是强烈推荐I2C接口的温度传感器,何必掉在一颗树上而放弃了整片森林。
~~~
回复

使用道具 举报 送花

已绑定手机

74

主题

1003

回帖

3653

积分

论坛元老

初出茅庐&无甚本事

积分
3653
 楼主| 发表于 2026-3-25 12:58:23 | 显示全部楼层
晓*** 发表于 2026-3-24 18:49
18B20天生是为Dallas自家带有1-Wire总线接口的单片机而生的,对于不带1-Wire总线的单片机,软件模拟时序是 ...

好的
非常感谢
使用I²C 有硬件兜底
系统设计考虑时序问题
使用MCU+RTOS逐渐积累经验
偶尔看看玩玩
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-9-23 16:10 , Processed in 0.076001 second(s), 85 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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