wince RS485半雙工實現

2021-09-07 23:55:10 字數 1959 閱讀 6369

rs485半雙工軟體程式設計實現

方法1:讓作業系統正確的控制

rts訊號。

hcom = createfile(...)

...dcb dcb;

memset( &dcb, 0, sizeof(dcb) );

dcb.dcblength = sizeof(dcb);

dcb.fbinary = true; // binary mode, no eof check

dcb.fparity = false; // enable/disable parity checking

dcb.foutxctsflow = false; // cts output flow control

dcb.foutxdsrflow = false; // dsr output flow control

dcb.fdtrcontrol = dtr_control_disable; // dtr flow control type dtr_control_handshake;

dcb.fdsrsensitivity = false; // dsr sensitivity

dcb.ftxcontinueonxoff = false; // xoff continues tx

dcb.foutx = false; // xon/xoff out flow control

dcb.finx = false; // xon/xoff in flow control

dcb.ferrorchar = false; // enable error replacement

dcb.fnull = false; // enable null stripping

dcb.fabortonerror = false; // abort on error

dcb.baudrate = ...; // current baud rate

dcb.bytesize = ...; // number of bits/byte, 4-8

dcb.parity = ...; // 0-4=no,odd,even,mark,space

dcb.stopbits = ...; // 0,1,2 = 1, 1.5, 2

dcb.frtscontrol = rts_control_toggle;//

關鍵啊,什麼意思請參考

msdn

setcommstate( hcom, &dcb );

...然後就可以使用

readfile/writefile

執行rs485

的收發了。

方法2:

人工控制。當有特殊要求,不能採用系統控制時採用。

2.a)

空閒時,讓串列埠進入接收狀態。必須使用

comsend

代替writefile

dcb.frtscontrol = rts_control_disable;//

關鍵啊,什麼意思請參考

msdn

setcommstate( hcom, &dcb );

int comsend( handle hcom, const void* pbuf, int ibufsize )

2.b)

空閒時,讓串列埠進入傳送傳送狀態,進入接收狀態時清除

rts,退出接收狀態時設定

rts。

這種流程要複雜一些,有這種要求的不多吧?自己參照上面的辦法去做吧。

使用以上這些辦法,完全可以相容3、

5、7、

9線制232和

485,422

,軟體不用關心串列埠的工作模式。

最後,如果板子上的

485傳送、接收使能沒有連到

rts上,你可得向賣板子的問清楚,如何設定這些使能端。否則,你就是改驅動,也無從下手啊。

wince RS485半雙工實現

rs485半雙工軟體程式設計實現 方法1 讓作業系統正確的控制 rts訊號。hcom createfile dcb dcb memset dcb,0,sizeof dcb dcb.dcblength sizeof dcb dcb.fbinary true binary mode,no eof che...

RS 485半雙工延時問題

學習485匯流排時,遇到延時問題,困擾很久。通過學習知道了485半雙工收發時必須延時,以保證系統的穩定性 可靠性。好多資料都介紹了485 防靜電 抗干擾電路。惟獨沒提 每一幀收發停止位 或第9位 的延時和 半雙工匯流排收發切換延時 問題。我覺得在半雙工狀態下 485 幀的收發和 匯流排的收發狀態切換...

RS485資料全雙工 半雙工的定義與應用

在序列通訊中,資料通常是在兩個站 如終端和微機 之間進行傳送,按照資料流的方向可分成三種基本的傳送方式 全雙工 半雙工 和單工,但單工目前已很少採用。1 全雙工方式 full duplex 當資料的傳送和接收分流,分別由兩根不同的傳輸線傳送時,通訊雙方都能在同一時刻進行傳送和接收操作,這樣的傳送方式...