1、讀數(shù)據(jù)的時候我做的是一個清空的辦法,每一次讀取數(shù)據(jù),如果讀到的數(shù)據(jù)準確則進行處理,如果有誤就清空了在讀。
成都創(chuàng)新互聯(lián)公司服務項目包括寧陜網(wǎng)站建設、寧陜網(wǎng)站制作、寧陜網(wǎng)頁制作以及寧陜網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,寧陜網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到寧陜省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
2、串口同步讀寫數(shù)據(jù),ReadFile會一直阻塞,但是用串口調(diào)試助手可以接受到數(shù)據(jù)。
3、首先確保你發(fā)送的數(shù)據(jù)是正確的,串口接收到這個數(shù)據(jù)后他能識別,并返回你想要的數(shù)據(jù),如果你發(fā)送的命令本身不要求返回數(shù)據(jù),inputstream是讀取不到數(shù)據(jù)的。
項目:需將USB串口插入到android設備的host中。但是把串口插入后,使用google 的開源項目 google-serial-port ,可以成功打開設備,但是在發(fā)送數(shù)據(jù)和接收數(shù)據(jù)方面一直都沒有數(shù)據(jù)返回。
安卓系統(tǒng)手機需要開啟USB調(diào)試功能(設定-開發(fā)者選項-USB調(diào)試-勾選),然后與手機助手連接。如果不能連接成功,可能是電腦中缺少手機驅(qū)動所導致,請在電腦中下載三星kies軟件后再次嘗試。
如果是,就很可能是安卓的版本問題了,這是版本1版本問題。
應該是你的讀寫緩沖設計的太少,或者和界面線程攪和在一起影響接收性能。通常這類軟件都有或多或少問題,建議備用幾個進行對比測試,流行的如串口調(diào)試助手、格西烽火串口助手等,都還不錯。
1、你這種情況我以前也遇到過,根據(jù)實際情況有很多解決辦法:你可以在接收事件函數(shù)的開始位置延遲一段時間,根據(jù)數(shù)據(jù)長度的不同可以適當改變延遲的時間。根據(jù)你接收的數(shù)據(jù)格式可以使用不同的Read方法。
2、可能時誤碼率較高,一個是線的長短和質(zhì)量造成的。找一個帶屏蔽的,若422接口使用雙絞線。232 與地雙絞。另一個降低一下波特率。另外將串口的發(fā)送包數(shù)低一些,256字節(jié)分包發(fā)送。這些都有助于你發(fā)送數(shù)所原誤碼率。
3、應該是你的讀寫緩沖設計的太少,或者和界面線程攪和在一起影響接收性能。通常這類軟件都有或多或少問題,建議備用幾個進行對比測試,流行的如串口調(diào)試助手、格西烽火串口助手等,都還不錯。
異步串口可以不用,同步阻塞方式必須用,否則調(diào)用readfile writefile會阻塞線程,窗口就卡死了。。
串口同步讀寫數(shù)據(jù),ReadFile會一直阻塞,但是用串口調(diào)試助手可以接受到數(shù)據(jù)。
你可能用的是USB轉(zhuǎn)串口的設備,如果是PL-2303芯片的,沒解決方法,只能關(guān)機后再重新啟動機器,運行程序;如果是FT232,CH340,CP2101芯片的不存在上述問題。