2021-11-26 23:05:17 索煒達電子 930
項目編號:E2467
文件大?。?00K
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述
設計思路
從機1、2采集溫濕度、煙霧信息分別匯總后發(fā)送至主機
所遇問題
1.主機接收從機1、2發(fā)送的數據時,會數據丟失
比如
從機1數據 A1_T221H32S0#
從機2數據 A2_T332H49S1#
而主機接收到的數據流中有一段為 A1_T221H A2_T332H49S1# 32S0#
不能完整接收從機1、2發(fā)送的數據,從而造成主機端數據刷機過慢(即接收多組數據可能會有一組完整的)
解決方案
1.主機分別給兩個從機發(fā)送信號(即從機1發(fā)送、從機2不發(fā)送或從機1不發(fā)送、從機2發(fā)送)
方案一、使用兩根線連接主機和從機1、2
方案二、使用Zigbee 發(fā)送命令 (包含 發(fā)送信號),待從機接收后解析并判斷從機1、2哪個發(fā)送。
將數據發(fā)送到主機,主機接收解析后發(fā)送命令,如此循環(huán)往復。
本項目使用方案一,方案二并未驗證。
關于圖片解釋
從機1發(fā)送8組數據
從機2發(fā)送3組數據
主要原因在于從機有if(MasterEn)En=1; if(En==1)發(fā)送數據;在發(fā)送數據完事之后En=0;