一種小區遠程控制的實(shí)現方案
2 軟件實(shí)現流程
本方案的另一個(gè)特點(diǎn)是軟件開(kāi)發(fā)簡(jiǎn)單,因為CMX869對外提供了豐富的命令和狀態(tài)可讀寫(xiě)寄存器資源,以及完善穩定的V.32bis協(xié)議棧,開(kāi)發(fā)人員只需在控制單元的89X51系列單片機上進(jìn)行匯編語(yǔ)言或C語(yǔ)言編程,通過(guò)調用構造的函數對各寄存器的設置和讀寫(xiě),就可以完成對CMX869狀態(tài)的控制和數據的收發(fā),縮短了軟件開(kāi)發(fā)和調試的周期。
由于CMX869功能和協(xié)議封裝相對獨立,開(kāi)發(fā)人員只需要熟悉其特定寄存器的讀寫(xiě)和單片機CX51程序編寫(xiě)就可以實(shí)現網(wǎng)絡(luò )互連。本方案的軟件主要包括管理終端軟件和遠端控制軟件,實(shí)現從管理終端控制單元串口,把業(yè)務(wù)查詢(xún)指令發(fā)送到CMX869接口,經(jīng)過(guò)調制解調,將數據轉發(fā)到遠端控制單元串口,再由遠端控制單元把采集到的數據經(jīng)原路徑回傳到管理終端控制單元串口。串口使用的波特率是115.2 Kb/s,傳輸協(xié)議采用V.32bis協(xié)議。圖3是軟件實(shí)現流程圖。
本方案中實(shí)現功能用到的主要函數如下:
(1)IinitCMX869函數
Return=IinitCMX869(Mode,Speed)
用途:對CMX869進(jìn)行初始化。
(2)Read16Data函數
ReceiveData=Read16Data(Address);
用途:從特定寄存器中讀出數據。
(3)Write16Data函數
CommOrData=Write16Data(Address,Data);
用途:向特定寄存器中寫(xiě)入數據。
(4)CMX869Coding函數
ReturnTxCode=CMX869Coding();
用途:將從CMX869串口接收到的數據調制編碼向遠端發(fā)送。
(5)CMX869Decode函數
ReturnRxCode=CMX869Decode();
用途:對CMX869接收的調制信號進(jìn)行解調。
評論