[STM32F3] 读取18b20的romid数据返回异常

[复制链接]
1746|8
 楼主| banxiafeixia 发表于 2020-6-13 14:35 | 显示全部楼层 |阅读模式
最近调试18b20读取romid的程序,自己设计的驱动电路,目的 读取多个单总线上挂载的romid,目前遇到以下不明所以的问题。


18b20读取romid先复位,发送搜索romid指令  0xf0


按照两读一写的方式进行读取,18b20的家族码首先是0x28,现在的情况是读取第一个字节,也就是家族码的时候,数据就是异常的,正常读取家族码,所有romid应该是相同的才对,也就是两读必须是01或者10,但是我这边读取却是经常00,实际看波形的时候也瞧不出有什么异常,0和1的波形区分还是很明显的,不知道是何种原因导致的,下面是波形图,有没有知道这种波形出现的原因是啥的大佬指教一下?
 楼主| banxiafeixia 发表于 2020-6-13 14:41 | 显示全部楼层
粉色是原始波形,黄色是经过总线缓冲器的波形
FCGL4PMYX{~{7~CMU`DHE`Y.png
 楼主| banxiafeixia 发表于 2020-6-13 15:08 | 显示全部楼层
单总线通信上拉电阻我用的300R。实践证明,上拉电阻过小的话,数据是会异常的,但是我这边一根线带几百点,上拉电阻大了的话,动力不够,不知道应该如何取舍。
walton1226 发表于 2020-6-15 11:45 | 显示全部楼层
复位之后加几十us的延时。
bit与bit之间加几十us的延时。
再加一个IO口分担一半。
wowu 发表于 2020-7-8 16:11 | 显示全部楼层
是二总线通讯方式吗
xiaoqizi 发表于 2020-7-8 16:11 | 显示全部楼层
难道是纯硬件问题?
木木guainv 发表于 2020-7-8 16:12 | 显示全部楼层
请问romid是什么
磨砂 发表于 2020-7-8 16:14 | 显示全部楼层
楼主找到问题了吗
晓伍 发表于 2020-7-8 16:14 | 显示全部楼层
帮楼主顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

93

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部