不知道你是不是用51單片機往串口發(fā)數(shù)據(jù),是的話那是因為51的SBUF最多存放8個字節(jié),所以你發(fā)12個字節(jié)會分成兩次發(fā)完。還有在接收的時候最好定義好通信協(xié)議,比如加一個偵頭,一個偵尾,通過這兩個字節(jié)的內(nèi)容來接收數(shù)據(jù)。
創(chuàng)新互聯(lián)專注于吳川網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供吳川營銷型網(wǎng)站建設(shè),吳川網(wǎng)站制作、吳川網(wǎng)頁設(shè)計、吳川網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造吳川網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供吳川網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
老兄,提問還是給點懸賞分嘛,不要吝嗇哪點分,知識是無價的,你給得越多,回答你的人才會越多。
上位機軟件接收大量數(shù)據(jù)并顯示,會造成界面卡頓,可采用雙緩沖技術(shù),即將數(shù)據(jù)存到內(nèi)存,再將其繪制到界面,比將數(shù)據(jù)直接繪制到界面要省很多時間
添加在子進程里面,就加在你批量傳輸代碼里的每一個傳輸后面,也就是大批量中的每傳輸一個數(shù)據(jù)就暫停一下,而不是每一個大批量才暫停一下。
不是很明白你的題意
strHex = strHex + [String].Format("{0:X2} "
這里的意思是把每個字節(jié)數(shù)據(jù)轉(zhuǎn)換成了十六進制,每個字節(jié)占兩個字符
如果你串口收到的4個字節(jié)數(shù)據(jù):43,27,56,200
那么你的結(jié)果是:2B1B38C8
即receivebytes.Text="2B1B38C8"
不足兩位的補0
如果你串口收到的4個字節(jié)數(shù)據(jù):3,27,56,200
那么你的結(jié)果是:031B38C8
即receivebytes.Text="031B38C8"