標(biāo)題: 串口心得 [打印本頁(yè)]

作者: liuyang    時(shí)間: 2012-1-5 04:53
標(biāo)題: 串口心得
    這幾天被串口程序的數(shù)據(jù)弄得滿頭包,F(xiàn)在已經(jīng)全部搞好了,寫下這次遇到的問(wèn)題,如果朋友你遇到類似現(xiàn)象,那么你可以少走很多路。

 調(diào) 試串口程序,最好下載個(gè)串口監(jiān)視程序,你自己寫個(gè)也可以,但是你得確保沒(méi)問(wèn)題。 像這個(gè)串口發(fā)送大批量數(shù)據(jù)的時(shí)候都是起線程來(lái)發(fā)送和接收的,我的很簡(jiǎn)單,因?yàn)閿?shù)據(jù)是發(fā)完才給發(fā)第2匹的,所以嘛,我就起了一個(gè)獨(dú)立線程來(lái)發(fā)送數(shù)據(jù)。 為什么起線程是為了防止你在主線程吊在發(fā)送數(shù)據(jù)中導(dǎo)致界面不響應(yīng),這種程序相當(dāng)不好看,就和掛死程序一樣,避免。  我這次主要遇到的問(wèn)題其實(shí)不大,主要前期沒(méi)想到有串口監(jiān)視,后來(lái)我查了好多資料,發(fā)現(xiàn)很多人都遇到類似問(wèn)題,不知道放棄還是解決了。  我接受是通過(guò)消息函數(shù)響應(yīng)的非線程取數(shù)據(jù)那種。 有個(gè)函數(shù)非常重要,就是接收多少字節(jié)觸發(fā)接收消息,說(shuō)也簡(jiǎn)單,可是我找到這個(gè)問(wèn)題花了點(diǎn)時(shí)間。  我當(dāng)初設(shè)置的是1,導(dǎo)致8個(gè)字節(jié)就觸發(fā)接收流程,然后導(dǎo)致數(shù)據(jù)校驗(yàn)不通過(guò),我當(dāng)時(shí)一直想不明白,現(xiàn)在終于明白了,我收了幀頭開始的數(shù)據(jù),但是收得部全,然 后導(dǎo)致數(shù)據(jù)匹配不通過(guò),這幀數(shù)據(jù)就是壞的,直接丟棄了,所以導(dǎo)致我的程序發(fā)送成功率那么低。   呵呵,SetRThreshold()函數(shù)  分割數(shù)據(jù)的時(shí)候吧長(zhǎng)度設(shè)置進(jìn)去就好了。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1