電子臺秤數(shù)據(jù)通訊RS485遠(yuǎn)程傳輸,RS232到RS485的接口轉(zhuǎn)換器需要用RTS信號來控制發(fā)送和接收狀態(tài)切換,由于PC機(jī)很難像單片機(jī)那樣地判斷zui后一位從移位寄存器發(fā)出去了(單片機(jī)對有的UART可以用中斷,或者笨笨地定時+查詢標(biāo)志等方法),所以經(jīng)常發(fā)生下位機(jī)收不好zui后一個字節(jié)或者上位機(jī)收不好*各字節(jié)的情況。有人采取上位機(jī)正常報文后面加無用字符(比如0xFF)的辦法來湊合。 電子臺秤稱重數(shù)據(jù)通訊有RS232到RS485的收發(fā)自動切換的轉(zhuǎn)接器,但它內(nèi)部其實是用單穩(wěn)態(tài)觸發(fā)器來實現(xiàn)的,為了適應(yīng)不同波特率,切換仍然有一個延遲,波特率較高的時候下位機(jī)回答太快仍然有可能*個字節(jié)出錯。 所說的20ms只是一個舉例,根據(jù)波特率等情況當(dāng)然可以適當(dāng)改變。但是,正規(guī)的RS485規(guī)約應(yīng)該要規(guī)定這個幀間空閑間隔的(比如IEC870-5規(guī)定是33bit)。 實際通信的實時性主要由輪詢的間隔以及超時的處理來決定,附加幾毫秒的延時并不很重要。實際使用RS485通信zui常遇到倒就是收發(fā)切換的問題,要想解決好,一是上位機(jī)從發(fā)到收的切換要盡量快(盡可能使用UART硬件自動控制RTS、發(fā)送完成中斷或者定時),二是下位機(jī)要略位"寬容"一點。 |