久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2332|回復: 1
打印 上一主題 下一主題
收起左側

關于串口接收問題的一點小看法

[復制鏈接]
跳轉到指定樓層
樓主
ID:82781 發表于 2015-6-13 16:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式




串口,似乎是一個司空見慣的代名詞,但是我遇到了一個問題直到昨天才解決,那就是怎么完整的接收接受的數據而不丟失呢?串口都會用,都說很簡單,然而當你去做的時候你才發現并不是想的那樣簡單那,當然可能是我笨了點,但是我解決了,怎怎么處理呢?現在看來很簡單了,用FIFO來解覺這個問題就簡單了,不用程序單單從邏輯上就是通的,實現起來也不難,怎么實現呢?很好搞,首先在內存中開辟一塊緩存區,當然越大越好,只不過要根據內存的容量來權衡,我的那個系統內存很吃緊,因為覆蓋了線程的堆棧,非常的耗費RAM用量,開辟完了內存,然后定義兩個指針,指向這個緩存,一個用來寫么一個用來讀,典型的FIFO,這下好了,你可以接受N個數據包,操作系統拿出一給線程監聽串口數據,一旦有數據包,那么兩個指針必定不相等,這樣用變量來記錄字節數,用指針來訪問FIFO,就實現了,我測試過了,沒有問題,很穩定,而且不會錯過一個字節哦!尤其適用于不定長數據的處理,因為定長非常好高,只要匹配就可以,不定長卻沒那么簡單,就要用這個FIFO,當然如果你沒由運行操作系統,那么你還是一樣的操作只是你要不斷地去查詢是否有數據到來,串口是以中斷 方式接受。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:114742 發表于 2016-5-5 18:58 | 只看該作者
大神為什么串口接收到的數據總是不完整的比如1234456總會出現少一些數據的情況比如會出現12346或者123等等的情況求幫助我的qq3263065307謝謝大神了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91午夜理伦私人影院 | 日本熟妇毛耸耸xxxxxx | 欧美性猛交乱大交 | 天天躁日日躁bbbbb | 黄色大片网站 | 国产成人av在线播放 | 亚洲成a人片 | 黄色成人小视频 | 男人天堂2020 | 激情小说图片视频 | 国产午夜在线观看 | 91av在线看 | www.欧美 | 日本一区二区高清 | 国产美女自拍 | 欧美在线视频播放 | 欧美日韩亚洲天堂 | 一级黄色片视频 | 日本一区二区在线播放 | 成人在线免费观看网站 | 日韩三级网 | 国产女人水真多18毛片18精品 | 亚洲黄色影院 | 免费黄网站在线观看 | 一级免费看| av男人天堂网 | 欧美成人a | 手机福利视频 | 色老板免费视频 | 好吊视频一区二区三区四区 | 4虎最新网址 | 天天做天天操 | 天天拍夜夜操 | 欧美精品久久久久久久多人混战 | 香蕉网在线 | 国产精品海角社区 | 亚洲午夜在线 | 日本黄网站 | 91成人国产 | 久草福利资源 | 日韩大片在线观看 |