欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機通過串口接收不定長字符串如何判斷發完了? [打印本頁]

作者: 水月sy    時間: 2020-11-4 21:03
標題: 單片機通過串口接收不定長字符串如何判斷發完了?
    就比如說,單片機通過串口接收到pc機發來的字符串“abc”時,單片機就做某些事。怎么對單片機接收到的字符串進行判斷呢,而且每一次發來的字符串長度也不確定,怎么確定pc機發完了一次呢,一直不知道怎么解決。。。
作者: amandv    時間: 2020-11-4 23:15
可以延時判斷,50~100MS沒通訊即結束.
作者: 水月sy    時間: 2020-11-4 23:28
amandv 發表于 2020-11-4 23:15
可以延時判斷,50~100MS沒通訊即結束.

意思是延時一下,然后如果RI還是等于0,說明發完了,好像有道理。
作者: dalaoshi    時間: 2020-11-5 00:20
一般上字串都帶有結束符的,比如ABC其實是ABC\n\r,\n是CHR$(13) \r是CHR$(10)。
作者: wulin    時間: 2020-11-5 06:43
水月sy 發表于 2020-11-4 23:28
意思是延時一下,然后如果RI還是等于0,說明發完了,好像有道理。

常用的方法有定時判斷、字符串長度標識判斷和結束符判斷。
作者: 黃youhui    時間: 2020-11-5 08:25
每接受一次數據清零一次定時器,超過100ms沒數據直接判斷發送結束
作者: 水月sy    時間: 2020-11-5 09:03
dalaoshi 發表于 2020-11-5 00:20
一般上字串都帶有結束符的,比如ABC其實是ABC\n\r,\n是CHR$(13) \r是CHR$(10)。

一般字符串都帶有結束符,意思是接收到結束符就停止嗎?那如果發的字符串命令是錯誤的時候,比如沒有發結束符、只發了AB,那應該怎么處理
作者: 水月sy    時間: 2020-11-5 09:13
wulin 發表于 2020-11-5 06:43
常用的方法有定時判斷、字符串長度標識判斷和結束符判斷。

我覺得定時判斷是最好的了,沒有什么限制
作者: 水月sy    時間: 2020-11-5 09:14
黃youhui 發表于 2020-11-5 08:25
每接受一次數據清零一次定時器,超過100ms沒數據直接判斷發送結束

謝謝,有思路了,今天晚上試試
作者: 水月sy    時間: 2020-11-5 09:15
amandv 發表于 2020-11-4 23:15
可以延時判斷,50~100MS沒通訊即結束.

不應該延時判斷,應該用定時器判斷
作者: weijoyer    時間: 2020-11-11 17:12
將數據打包,設置一個開始符和結束符
作者: lycike    時間: 2020-11-12 11:53
定義一個結束標識符
作者: 適得府君書    時間: 2020-11-13 09:03
在報文添加標志符比如&abc&。通過判斷是否接收到了兩個&定義符號。如果接收到了說明已經接收完了;蛘呒覾r\n。方法有很多,多做嘗試。
作者: 權威人物    時間: 2020-11-13 14:24
可以定義傳輸格式,簡單來說就是協議,或者規定超時時間視為結束接收




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