找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1818|回复: 2
收起左侧

单总线器件如何多用?

[复制链接]
ID:239793 发表于 2018-12-16 20:26 | 显示全部楼层 |阅读模式
50黑币
如DS18B20 DHT11等都是单总线控制,如果想要控制多个DHT11 采集不同地点的数据,该如何写程序。一个IO对应一个外扩。我把一个的程序 复制粘贴 改下名字写第二个采集,但运行的只有一个,数据显示的十位个位还一样, 是程序运行下来就执行一个了,我加WHILE(1)无限执行,还是一个。求解决。

回复

使用道具 举报

ID:213173 发表于 2022-8-18 09:06 | 显示全部楼层
两种DS18B20多点测温示例



DS18B20单线多点温度测量 仿真.rar

65.73 KB, 下载次数: 7

DS18B20多路测温报警 仿真.rar

79.48 KB, 下载次数: 5

回复

使用道具 举报

ID:447740 发表于 2022-8-18 00:06 | 显示全部楼层
DS18B20本身有64位ROM,一条线能接几百个,靠地址分辨传感器。
DHT11只是采集数据,数字方式传输,本身没有可用于分辨的ID,每条线只能接1个。
如果每个IO对应一个外扩,可以通过复制,改名,读取接在每个IO的数据,定义一个二维数组,把温湿度分别放在对应的数组里,比如int data[10][2]  data[0][0]放0号的温度data[0][1]放0号湿度,以此类推。
出现只能运行一个,需要仔细检查复制过来的程序,还有定义的IO。我做的测8个口温湿度都正常,你的思路对,可能就是复制过来的或者定义的IO,出现错误
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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