欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
關(guān)于串口接收問(wèn)題的一點(diǎn)小看法
[打印本頁(yè)]
作者:
xuwei
時(shí)間:
2015-6-13 16:14
標(biāo)題:
關(guān)于串口接收問(wèn)題的一點(diǎn)小看法
串口,似乎是一個(gè)司空見(jiàn)慣的代名詞,但是我遇到了一個(gè)問(wèn)題直到昨天才解決,那就是怎么完整的接收接受的數(shù)據(jù)而不丟失呢?串口都會(huì)用,都說(shuō)很簡(jiǎn)單,然而當(dāng)你去做的時(shí)候你才發(fā)現(xiàn)并不是想的那樣簡(jiǎn)單那,當(dāng)然可能是我笨了點(diǎn),但是我解決了,怎怎么處理呢?現(xiàn)在看來(lái)很簡(jiǎn)單了,用FIFO來(lái)解覺(jué)這個(gè)問(wèn)題就簡(jiǎn)單了,不用程序單單從邏輯上就是通的,實(shí)現(xiàn)起來(lái)也不難,怎么實(shí)現(xiàn)呢?很好搞,首先在內(nèi)存中開(kāi)辟一塊緩存區(qū),當(dāng)然越大越好,只不過(guò)要根據(jù)內(nèi)存的容量來(lái)權(quán)衡,我的那個(gè)系統(tǒng)內(nèi)存很吃緊,因?yàn)楦采w了線程的堆棧,非常的耗費(fèi)RAM用量,開(kāi)辟完了內(nèi)存,然后定義兩個(gè)指針,指向這個(gè)緩存,一個(gè)用來(lái)寫(xiě)么一個(gè)用來(lái)讀,典型的FIFO,這下好了,你可以接受N個(gè)數(shù)據(jù)包,操作系統(tǒng)拿出一給線程監(jiān)聽(tīng)串口數(shù)據(jù),一旦有數(shù)據(jù)包,那么兩個(gè)指針必定不相等,這樣用變量來(lái)記錄字節(jié)數(shù),用指針來(lái)訪問(wèn)FIFO,就實(shí)現(xiàn)了,我測(cè)試過(guò)了,沒(méi)有問(wèn)題,很穩(wěn)定,而且不會(huì)錯(cuò)過(guò)一個(gè)字節(jié)哦!尤其適用于不定長(zhǎng)數(shù)據(jù)的處理,因?yàn)槎ㄩL(zhǎng)非常好高,只要匹配就可以,不定長(zhǎng)卻沒(méi)那么簡(jiǎn)單,就要用這個(gè)FIFO,當(dāng)然如果你沒(méi)由運(yùn)行操作系統(tǒng),那么你還是一樣的操作只是你要不斷地去查詢是否有數(shù)據(jù)到來(lái),串口是以中斷
方式接受。
作者:
3263065307
時(shí)間:
2016-5-5 18:58
大神為什么串口接收到的數(shù)據(jù)總是不完整的比如1234456總會(huì)出現(xiàn)少一些數(shù)據(jù)的情況比如會(huì)出現(xiàn)12346或者123等等的情況求幫助我的qq3263065307謝謝大神了
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1