昨晚熬到2点,做了一个DS18B20的单总线,终于可以在一条总线上自动搜索ROM和读取多个温度了,不过有个Bug请大家帮忙看看

2019-07-21 01:34发布

昨晚熬到2点,做了一个DS18B20的单总线,终于可以在一条总线上自动搜索ROM和读取多个温度了,不过有个Bug请大家帮忙看看
Bug说明:
#define MAXNUM 5
在上面的宏定义中,MAXNUM是我定义的总线上最多挂多少个DS18B20的,但是我发现,当后面的数值小于等于4的时候都可以正常读
出ROM和温度值,当后面的
数值大于等于5的时候就不行了。大家帮帮忙。

编译环境:MDK5


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
爱已欠费199581
1楼-- · 2019-07-21 20:31
cloudsunny 发表于 2016-3-14 12:05
是循环判断除了问题。要对栈顶值进行初始化。我试过了,可以完全通过。
u8 DS18B20_SearchROM(u8 (*pID)[8 ...

请问你是怎么用多个DS18B20测出的温度
cloudsunny
2楼-- · 2019-07-22 02:25
爱已欠费199581 发表于 2016-3-16 16:03
请问你是怎么用多个DS18B20测出的温度

就是下载了楼主的源程序改的。单总线搜索ROM ,匹配ROM读取每个传感器的温度值。
bg8wj
3楼-- · 2019-07-22 03:52
ds18b20 多个挂载一条总线,读取错,还有一种原因是总线供电问题,也就是常说的总线驱动能力的问题。
mamingjiang
4楼-- · 2019-07-22 06:55
请问你的多个1820与单片机是怎么连接的
fanwei700615
5楼-- · 2019-07-22 09:00
 精彩回答 2  元偷偷看……
mjwang
6楼-- · 2019-07-22 14:45

一周热门 更多>