1.發(fā)送數(shù)據(jù)
(1)檢查sr26405(rs-232c端口發(fā)送準備標志)、sr26413(外設端口發(fā)送準備標志)、sr28305(通信板端口a發(fā)送準備標志)或sr28313(通信板端口b發(fā)送準備標志)是否on。
(2)用txd(-)指令發(fā)送數(shù)據(jù)。
圖1 txd(-)指令
txd(-)指令如圖1所示。該指令中:
d是源數(shù)據(jù)的首字地址。
c是控制字。
位00~03 0:高位字節(jié)為首。
1:低位字節(jié)為首。
位04~07 0:正常數(shù)據(jù)傳送操作。
1:傳輸數(shù)據(jù)最左邊的位15狀態(tài)反映到相應端口的rts上。
2:傳輸數(shù)據(jù)最左邊的位15狀態(tài)反映到相應端口的dtr上。
3:傳輸數(shù)據(jù)最左邊的位14和15狀態(tài)反映到相應端口的rts和dtr上。
位08~11 0:內置rs-232c端口。
1:通信板端口a。
2:通信板端口b。
位12~15 0:rs-232c端口。
1:外設端口。
2:上位機鏈接單元#1。
3:上位機鏈接單元#2。
n是傳輸字節(jié)數(shù)(4位bcd碼)0000~0256(啟動位和結束位)。
(3)從開始執(zhí)行指令到數(shù)據(jù)傳輸結束這段時間,發(fā)送準備標志保持off,當數(shù)據(jù)傳輸完畢時,它變回on。
2.接收數(shù)據(jù)
(1)檢查sr26406(rs-232c端口接收結束標志)或sr26414(外設端口接收結束標志)是否為on。
(2)用rxd(-)指令接收數(shù)據(jù)。
rxd(-)指令如圖2所示。
圖2 rxd(-)指令
d是源數(shù)據(jù)的首字地址。
c是控制字。
位00~03 0:高位字節(jié)為首。
1:低位字節(jié)為首。
位04~07 0:正常數(shù)據(jù)接收操作。
1:讀相應端口的cts狀態(tài),并寫入接收數(shù)據(jù)最左邊的位15。
2:讀相應端口的dsr狀態(tài),并寫入接收數(shù)據(jù)最左邊的位15。
3:讀相應端口的cts和dsr狀態(tài),并寫入接收數(shù)據(jù)最左邊的位14、15。
位08~11 0:內置rs-232c端口。
1:通信板端口a。
2:通信板端口b。
位12~15 0:rs-232c端口。
1:外設端口。
n是傳輸字節(jié)數(shù)(4位bcd碼)0000~0256(啟動位和結束位)。
(3)當執(zhí)行rxd(-)指令時,接收到的數(shù)據(jù)傳送到指定的字中(不含啟動碼和結束碼)同時接收標志置off。接收啟動和結束說明如下。
啟動:如果不設啟動碼,連續(xù)接收。
如果設置啟動碼,當接收到啟動碼,開始接收。
結束:當接收到結束碼或已經(jīng)接收到259個數(shù)據(jù)字節(jié),接收結束。
(4)讀取接收的數(shù)據(jù)而產(chǎn)生的狀態(tài)存儲在sr區(qū)域,檢查操作是否順利完成,這些位的狀態(tài)在每次執(zhí)行rxd(-)指令時復位。
對于rs-232c端口需要檢查sr26400~26403、sr26404、sr26407和sr265。
對于外設端口需要檢查sr26408~264011、sr26412、sr26415和sr266。