主题:step2_serial

  共有25109人关注过本帖    
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的数据存放处理方式。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

step2_serial

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: