打印
[复制链接]
467|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
iot123|  楼主 | 2020-12-18 16:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请教一下大神们,如何实现CC2530芯片的一个IO口接多个ds18b20温度传感器?

使用特权

评论回复
评论
iot123 2020-12-18 16:41 回复TA
我测出来是这个: F3 03 FC 15 9F FF 00 00 有人可以给个建议吗 程序如下: void DS18B20_Read_64Rom(uchar *buffer) { TempElem infoA1; uchar i; Ds18b20InitialA3();//复位 Ds18b20DelayA3(1.2); Ds18b20WriteA3(0x33);//读64位ROM for(i=0;i<8;i++) //读取64个字节 infoA1.ThirdAD=Ds18b20ReadA3(); } 

相关帖子

沙发
ayb_ice| | 2020-12-18 16:27 | 只看该作者
通过不同的ID来区别,如果不多的话,还不如通过多个IO来驱动,

使用特权

评论回复
评论
iot123 2020-12-18 16:40 回复TA
我测出来是这个: F3 03 FC 15 9F FF 00 00 有人可以给个建议吗 程序如下: void DS18B20_Read_64Rom(uchar *buffer) { TempElem infoA1; uchar i; Ds18b20InitialA3();//复位 Ds18b20DelayA3(1.2); Ds18b20WriteA3(0x33);//读64位ROM for(i=0;i<8;i++) //读取64个字节 infoA1.ThirdAD=Ds18b20ReadA3(); } 
板凳
iot123|  楼主 | 2020-12-18 16:42 | 只看该作者
我测出来是这个:  F3 03 FC 15 9F FF 00 00  有人可以给个建议吗
程序如下:
void DS18B20_Read_64Rom(uchar *buffer)
    {
     TempElem  infoA1;

      uchar i;
      Ds18b20InitialA3();//复位
      Ds18b20DelayA3(1.2);

      Ds18b20WriteA3(0x33);//读64位ROM
      for(i=0;i<8;i++) //读取64个字节
      infoA1.ThirdAD=Ds18b20ReadA3();
   }

使用特权

评论回复
地板
ayb_ice| | 2020-12-18 16:50 | 只看该作者
本帖最后由 ayb_ice 于 2020-12-18 16:53 编辑
iot123 发表于 2020-12-18 16:42
我测出来是这个:  F3 03 FC 15 9F FF 00 00  有人可以给个建议吗
程序如下:
void DS18B20_Read_64Rom(uch ...

看协议文档,先发送对应的ID指令,再发送其它命令

QQ图片20201218165325.png (41.86 KB )

QQ图片20201218165325.png

使用特权

评论回复
5
iot123|  楼主 | 2020-12-18 17:05 | 只看该作者
ayb_ice 发表于 2020-12-18 16:50
看协议文档,先发送对应的ID指令,再发送其它命令

你好,我读取的序列号不对呀

使用特权

评论回复
6
ayb_ice| | 2020-12-18 17:15 | 只看该作者
iot123 发表于 2020-12-18 17:05
你好,我读取的序列号不对呀

基本驱动有问题,可能是延时不准吧

使用特权

评论回复
评论
ayb_ice 2020-12-21 08:44 回复TA
@iot123 :复位,读写函数等 
iot123 2020-12-18 22:50 回复TA
你好,延时没问题的,你说的驱动有问题是指? 
7
广东梁百万| | 2020-12-19 09:27 | 只看该作者
我也想知道一条线怎样挂接多个18b20。只接一个的话我会,立创商城那找到有中文说明的规格书,商品编号是c472474,你自己去看看

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

17

帖子

0

粉丝