在(zai)為遼沈企業進(jin)(jin)行軟件(jian)(jian)(jian)信息化服(fu)務過程中,立志于(yu)軟件(jian)(jian)(jian)開發的我們發現(xian)很多公(gong)司都需要(yao)自(zi)己的軟件(jian)(jian)(jian)于(yu)自(zi)己的硬件(jian)(jian)(jian)進(jin)(jin)行數據(ju)對接(jie)。在(zai)硬件(jian)(jian)(jian)不能提(ti)供(gong)接(jie)口(kou),僅僅有(you)接(jie)口(kou)說明的時候,就需要(yao)使用串口(kou)來(lai)進(jin)(jin)行數據(ju)交(jiao)互(hu)(hu)。那(nei)么(me)應該怎么(me)樣使用c#和(he)串口(kou)來(lai)交(jiao)互(hu)(hu)數據(ju)呢?下(xia)面我來(lai)給(gei)大(da)家簡單說說:
建立(li)一(yi)個(ge)(ge)與(yu)串(chuan)口關聯的(de)(de)文件句(ju)柄,用與(yu)串(chuan)行通(tong)信相關的(de)(de)API初(chu)始化串(chuan)口。初(chu)始化之后這個(ge)(ge)句(ju)柄就(jiu)可以用了。還得(de)做兩個(ge)(ge)線(xian)程(cheng)(cheng),一(yi)個(ge)(ge)讀線(xian)程(cheng)(cheng),一(yi)個(ge)(ge)寫線(xian)程(cheng)(cheng)。這倆線(xian)程(cheng)(cheng)要(yao)死死咬(yao)住你那個(ge)(ge)句(ju)柄。可以用WaitObject之類的(de)(de)API處理阻塞與(yu)同步。數(shu)(shu)據不斷的(de)(de)追加到一(yi)個(ge)(ge)緩沖(chong)塊里,每(mei)次得(de)到一(yi)個(ge)(ge)數(shu)(shu)據塊,你都要(yao)向外界送一(yi)個(ge)(ge)消(xiao)息,產生一(yi)個(ge)(ge)事件,供外界處理數(shu)(shu)據。
通過上面的原理就可以得到串口的數據了,這樣我們的軟件就成功的結合到硬件上了。