先問清楚一下,X0和X1是不是外接按鈕,或者是觸摸屏的按鈕。如果是,下面的方法有效。如果不是,就另外再說(shuō)。
第1步,先執(zhí)行RS指令,且在發(fā)送和接收期間要一直執(zhí)行!例如:X=1,SET M10,M10接RS指令。
第2步,用邊沿指令把數(shù)據(jù)傳送給發(fā)送區(qū)。例如:M10的上升沿執(zhí)行。
第3步,用邊沿觸發(fā)指令使M8122=1,發(fā)送完數(shù)據(jù)后M8122會(huì)自動(dòng)復(fù)位。例如:M10上升沿的最后一行執(zhí)行set m8122。
第4步,收到數(shù)據(jù)后,M8123=1。用M8123=1這個(gè)條件使RS指令和M8123復(fù)位。例如:M8123=1,執(zhí)行RST M10和RST M8123。
第5步,讀取RS指令接收區(qū)數(shù)據(jù)。
你的錯(cuò)誤在于:
1、用按鈕加定時(shí)器執(zhí)行RS指令,很別扭。換句話說(shuō),你得一直按著按鈕不放執(zhí)行RS指令。RS指令的復(fù)位靠M8123,因?yàn)镸8123=1表示收發(fā)工作的完成。
2、不能一直使8122置=1,M4=1的時(shí)間超過(guò)100ms。
3、沒有M8123的復(fù)位指令。M8123不復(fù)位可能會(huì)影響RS指令的執(zhí)行,以及M8122的置1操作。
[ 此帖被zhangqi_1234在2018-02-27 19:20重新編輯 ]