新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 多單片機共用RS 232通信的防競爭電路與程序設計

        多單片機共用RS 232通信的防競爭電路與程序設計

        作者: 時間:2011-05-17 來源:網絡 收藏

        控制輸出到74HC125的3個控制端信號分別定義為OEA,OEB,OEC,對應于3個串口控制信號A,B,C,邏輯關系為:
        b.JPG
        控制的真值表如表1所示。

        本文引用地址:http://www.104case.com/article/172787.htm

        c.JPG


        由真值表可見:防止控制保證在A有效時,僅允許TxdA通過74HC125而其他2路信號被禁止通過。同樣,當B有效時,僅允許TxdB信號通過,C有效時,僅允許TxdC信號通過,其他2路信號被禁止。確保任意時刻只有一個的串口占用 232發送通道,而其他不能占用 232發送通道,有效地防止了的發生。

        3 防止程序
        3.1 多機協議.
        多機協議是為了使單片機分時占用 232發送通道,在防競爭控制電路的配合下,使得任一時刻PC機僅與1個單片機進行通信,保證通信的順利進行。通信采用握手通信方式,通信協議如下:

        e.JPG


        每一幀信息為8個字節。其中,第一字節為特征字(這里為字符“L”),第二字節為地址碼,第三字節為命令碼,第四~七字節為數據字節,第八字節為校驗和(從地址碼開始計算字節的異或和)。
        如PC機向單片機系統發出呼叫:“L”、“A”、01H、00H、00H、00H、00H、40H,其中的“A”(41H)表示呼叫單片機A,01H是命令,4個00H是命令的參數,40H為校驗和。
        單片機接收到特征碼“L”后,開始接收后續的7字節信息,并對這7個字節計算校驗和,完整的一幀呼叫碼校驗無誤后,核對地址碼。單片機A核對地址碼為“A”,確認是對本機呼叫,立即響應,拉低P10(信號A),本機即可獨占RS 232總線發送通道,按照通信協議與PC機進行串行通信,通信完畢恢復P10(信號A)使RS 232總線發送通道恢復空閑狀態。而單片機B、單片機C校對地址碼不是本機地址后則退出,保持接收狀態。

        DIY機械鍵盤相關社區:機械鍵盤DIY




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 偏关县| 治多县| 朔州市| 大同县| 新安县| 杭锦旗| 四会市| 花莲县| 冀州市| 永泰县| 玉溪市| 深泽县| 凤阳县| 广丰县| 建瓯市| 木兰县| 金坛市| 伽师县| 砚山县| 南乐县| 徐州市| 日喀则市| 清涧县| 泰和县| 清原| 吉安县| 三江| 庆云县| 酒泉市| 新泰市| 新宾| 霸州市| 南汇区| 遵义县| 承德县| 罗山县| 商城县| 紫金县| 蒲城县| 西贡区| 天镇县|