打印

单总线协议从机命令接收问题

[复制链接]
1332|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuetudou|  楼主 | 2017-6-3 08:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当前产品用的4路ds18b20产品进行多点测温,新需求要求每个点要再加一个温湿度芯片,也就相当于一个温度,一个温湿度。为了产品兼容主机对18b20的操作,从机用单片机来模拟18b20,收到18b20命令做出相应的回应,只是在读取温度时将保留字节替换为另一路的温湿度
当前问题:
1.在外部中断里处理单总线的通信,接到低电平信号时,开始判断是不是复位脉冲到来(进中断先开始判断是不是复位脉冲),如果是就开始一个字节的读操作,判断对应命令,然后对应操作,退出中断,但是如果一个复位跟着两个命令,命令间有延时,第一个命令处理完就会自动退出中断,第二个命令之前没有复位时序就会被丢失。
2.18b20的搜索ROM的算法:大概看了下他的搜索算法,感觉有点复杂,虽说是两读一写,但是里面也有很多东西不明白,没法准确评估这个代码量到底有多大,请研究过18b20搜索算法的给一点指点,作为从机应该怎样回复主机发的搜索ROM

相关帖子

沙发
mcu5i51| | 2017-6-3 09:03 | 只看该作者
MCU用于单线从机时注意总线裁仲就好;
例:
收到一个地址位1,比较自身对应位为1,有效
收到下个地址位0,比较自身对应位为1,无效,复位前不再响应以后的数据;
数据也是一样,为0时直接发送,为1时发送后比较数据,不为1就停止,所有数据为0时优先;所有地址读取时读到的数据是前面0最多的一个

使用特权

评论回复
板凳
dirtwillfly| | 2017-6-3 11:55 | 只看该作者
mcu5i51 发表于 2017-6-3 09:03
MCU用于单线从机时注意总线裁仲就好;
例:
收到一个地址位1,比较自身对应位为1,有效

使用特权

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

本版积分规则

25

主题

70

帖子

1

粉丝