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