m_hSer, &dwReadError," />

激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月


主題:串口通信

  共有50466人關(guān)注過本帖    
xxq2012
1樓


串口通信  發(fā)帖心情 Post By:2012-5-17 9:41:00   [只看該作者]

ClearCommError( lpSerial->m_hSer, &dwReadError, &cmStat );
nWillLen = cmStat.cbInQue;
為什么當(dāng)串口有數(shù)據(jù)主動上送時,串口接收線程收到的字節(jié)數(shù)是128的,而不是8個字節(jié)觸發(fā)的

  單帖管理 | 引用 | 回復(fù) 回到頂部
帥哥喲,離線,有人找我嗎?
lqk
2樓 信息 | 搜索 | 郵箱


加好友 發(fā)短信
  發(fā)帖心情 Post By:2012-5-17 13:14:00   [只看該作者]

不太清楚你講的問題,請描述具體一點。

  單帖管理 | 引用 | 回復(fù) 回到頂部
xxq2012
3樓


  發(fā)帖心情 Post By:2012-5-17 13:31:00   [只看該作者]

EM9360 串口接收下面終端上送的數(shù)據(jù),數(shù)據(jù)很多,我斷點設(shè)在nWillLen = cmStat.cbInQue;語句的下一條,監(jiān)測收到的數(shù)據(jù)長度,每次收到的nWillLen  =0x00000080,就是數(shù)據(jù)長度達到了128個字節(jié)了,而不是8個字節(jié)

  單帖管理 | 引用 | 回復(fù) 回到頂部
x10
4樓


  發(fā)帖心情 Post By:2012-5-17 14:20:00   [只看該作者]

EM9360板上的串口是DMA驅(qū)動的,其buffer長度為128字節(jié),所以當(dāng)連續(xù)接收的數(shù)據(jù)超過128個字節(jié),就會在128字節(jié)是產(chǎn)生中斷(DMA buffer切換),若發(fā)送的字節(jié)小于128字節(jié),接收在3個字節(jié)長度的時間沒有進一步的數(shù)據(jù)時,會產(chǎn)生超時中斷,這時應(yīng)用程序就會收到不是128字節(jié)的數(shù)據(jù)的。

  單帖管理 | 引用 | 回復(fù) 回到頂部
xxq2012
5樓


  發(fā)帖心情 Post By:2012-5-17 14:26:00   [只看該作者]

去年我調(diào)試的時候是收到8個字節(jié)就觸發(fā)了nWillLen =0x00000008,現(xiàn)在是板子改了?

  單帖管理 | 引用 | 回復(fù) 回到頂部
x10
6樓


  發(fā)帖心情 Post By:2012-5-17 14:44:00   [只看該作者]

是修改了buffer長度,這樣可提高效率,適應(yīng)更高波特率的應(yīng)用。這個對你有什么不利的影響嗎?

  單帖管理 | 引用 | 回復(fù) 回到頂部
xxq2012
7樓


  發(fā)帖心情 Post By:2012-5-17 14:48:00   [只看該作者]

呵呵,我原來接收數(shù)據(jù)部分的代碼得修改了

  單帖管理 | 引用 | 回復(fù) 回到頂部
admin
8樓


  發(fā)帖心情 Post By:2012-5-18 14:50:00   [只看該作者]

串口驅(qū)動程序提供的數(shù)據(jù)是一種流式的數(shù)據(jù),應(yīng)用程序的接收線程需要對原始數(shù)據(jù)進行格式分析,才能提取出符合應(yīng)用需要的應(yīng)用數(shù)據(jù)包供上層使用。比方應(yīng)用數(shù)據(jù)包有n個字節(jié),格式為0x55,0xaa, {真正的數(shù)據(jù)},chksum。這時接收線程需要識別整個數(shù)據(jù)結(jié)構(gòu),并做校驗和,這樣才能得到可靠的應(yīng)用數(shù)據(jù)包。如果用收到n個字節(jié)就作為應(yīng)用數(shù)據(jù)包,可以但肯定不可靠。因為一旦傳送過程出點錯,那就會連續(xù)好幾幀數(shù)據(jù)的丟失。

  單帖管理 | 引用 | 回復(fù) 回到頂部
xxq2012
9樓


  發(fā)帖心情 Post By:2012-5-30 16:14:00   [只看該作者]

下面設(shè)備不停的發(fā)送數(shù)據(jù)上來,完整的數(shù)據(jù)幀是以3個EB 90為同步字頭,幀內(nèi)包括數(shù)據(jù)長度字節(jié),數(shù)據(jù)的提取,處理你們有相關(guān)的代碼和例程嗎,能發(fā)給我一份作參考嗎,請發(fā)送到414595534@QQ.com,謝謝!

  單帖管理 | 引用 | 回復(fù) 回到頂部
x10
10樓


  發(fā)帖心情 Post By:2012-5-31 8:28:00   [只看該作者]

我們沒有統(tǒng)一的數(shù)據(jù)幀提取方法,原則是把接收線程做成一個狀態(tài)機,根據(jù)具體的幀結(jié)構(gòu)會有發(fā)現(xiàn)相應(yīng)的簡化算法。

  單帖管理 | 引用 | 回復(fù) 回到頂部
xxq2012
11樓


  發(fā)帖心情 Post By:2012-6-1 15:09:00   [只看該作者]

那恢復(fù)成原來8個字節(jié)觸發(fā)的方式行嗎?通過燒寫內(nèi)核,發(fā)個老版本的內(nèi)核給我,謝謝

  單帖管理 | 引用 | 回復(fù) 回到頂部
x10
12樓


  發(fā)帖心情 Post By:2012-6-2 19:43:00   [只看該作者]

寫解析應(yīng)當(dāng)很容易的。就是
switch(state)
{
case 0:
   if(buf[i] == 0xEB)
      state = 1:
   break;
....
}
類似上面的流程。對串口數(shù)據(jù)通訊的程序,應(yīng)用數(shù)據(jù)包的提取應(yīng)當(dāng)是最基本的。否則通訊過程肯定是不穩(wěn)定的,這與8字節(jié)buffer還是128字節(jié)buffer沒關(guān)系。
如果一定希望要收8個,自然成組,建議發(fā)送8個字節(jié)后,停4個字節(jié)的時間,再發(fā)。這樣你肯定就能收到8個字節(jié)了。

  單帖管理 | 引用 | 回復(fù) 回到頂部

返回首頁

串口通信

用戶名:
            驗證碼: 驗證碼,看不清楚?請點擊刷新驗證碼
內(nèi)容:
主站蜘蛛池模板: 国产精品视频一区二区三区不卡| 特级一级全黄毛片免费| 免费观看成人羞羞视频网站观看 | 尤物视频最新网址| 免费黄视频在线观看| 涩涩免费网站| 国产在线免| 亚洲欧美日韩激情在线观看| 日本特黄特色高清免费视频| 欧美日韩中字| 狠狠色狠狠色综合婷婷tag| 久草在线免费福利资源站| 亚洲专区区免费| 日本久草视频| 成人激情视频在线观看| 国产精品 第二页| 黄短视频在线观看免费版| 久久99热不卡精品免费观看| 亚洲婷婷国产精品电影人久久| 日本成人一区二区| 亚洲日本国产| 在线观看国产高清免费不卡黄| 国产一区二区三区成人久久片 | 黄色一级一毛片| 26uuu天天夜夜综合| 国产精品观看| 欧美日韩一区二区综合在线视频| 13一14周岁毛片免费| 一级@片| 日韩免费在线视频观看| 亚洲国产高清在线精品一区| 成人精品视频在线| 成人宗合网| 欧美日韩色视频| 国内精自品线一区91| 国产无限免费观看黄网站| 黄色三级欧美| 国产成人综合91精品| 久久一精品| 婷婷丁香综合| 婷婷亚洲天堂|