主題:step2_serial 共有40689人關注過本帖 |
---|
yusheng |
1樓 |
step2_serial Post By:2009-3-11 10:29:00 [只看該作者]
您好:
    用EM9260調試入門程序step2_serial,每接收一次只有8字節嗎?如我用串口助手發一串長度10字節的,它要分兩次接收。如何改成一次可接收到大于八字節的接收方式?    另char DatBuf[1500];可以定義成unsigned char DatBuf[1500]嗎?    謝謝! |
|
單帖管理 | 引用 | 回復 |
lqk |
2樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
Post By:2009-3-11 12:36:00 [只看該作者]
你好:
因為串口控制器內部Buffer長度為8個字節,所以一次中斷最多接收8字節數據,并將數據放在了DatBuf中,如果沒有及時讀取DatBuf中的數據,數據將存在DatBuf中,在下一次讀取時將一次性讀出。 另char DatBuf[1500]可以定義成unsigned char DatBuf[1500]。 |
單帖管理 | 引用 | 回復 |
lqk |
3樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
Post By:2009-3-11 12:54:00 [只看該作者]
你好:
更正一下上面的: 程序中中斷一次接收8個字節,并不是因為串口控制器內部FIFO長度為8Byte(其實是16Byte),而是我們對串口控制器的設置為:串口控制器接收FIFO觸發級(閾值)為8Byte時,控制器將產生中斷。 |
單帖管理 | 引用 | 回復 |
yusheng |
4樓 |
Post By:2009-3-11 14:32:00 [只看該作者]
那如果沒有及時讀取DatBuf中的數據,下次又接收了新的數據,會不會把前次的數據覆蓋掉?
|
|
單帖管理 | 引用 | 回復 |
lqk |
5樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
Post By:2009-3-11 17:21:00 [只看該作者]
就我們的例程來講:
在執行ReadFile讀取串口接收數據時,原來DatBuf中的數據被覆蓋 不太明白你說的:是沒有及時執行ReadFile,還是執行了ReadFile,而沒有及時處理DatBuf中的數據呢。 |
單帖管理 | 引用 | 回復 |
yusheng |
6樓 |
Post By:2009-3-11 17:43:00 [只看該作者]
我是說執行了ReadFile,而沒有及時處理DatBuf中的數據。
呵呵,謝了 |
|
單帖管理 | 引用 | 回復 |
lqk |
7樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
Post By:2009-3-11 18:23:00 [只看該作者]
在我們的例程中:
如果在執行了ReadFile后,沒有處理DatBuf中的數據,下一次執行ReadFile時,DatBuf中的數據被覆蓋。 你可以修改我們的例程,自己決定DatBuf的數據存放處理方式。 |
單帖管理 | 引用 | 回復 |