主题:step2_serial 共有35599人关注过本帖 |
---|
lqk |
1楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2009-3-11 12:36:00 [显示全部帖子]
你好:
因为串口控制器内部Buffer长度为8个字节,所以一次中断最多接收8字节数据,并将数据放在了DatBuf中,如果没有及时读取DatBuf中的数据,数据将存在DatBuf中,在下一次读取时将一次性读出。 另char DatBuf[1500]可以定义成unsigned char DatBuf[1500]。 |
单帖管理 | 引用 | 回复 |
lqk |
2楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2009-3-11 12:54:00 [显示全部帖子]
你好:
更正一下上面的: 程序中中断一次接收8个字节,并不是因为串口控制器内部FIFO长度为8Byte(其实是16Byte),而是我们对串口控制器的设置为:串口控制器接收FIFO触发级(阈值)为8Byte时,控制器将产生中断。 |
单帖管理 | 引用 | 回复 |
lqk |
3楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2009-3-11 17:21:00 [显示全部帖子]
就我们的例程来讲:
在执行ReadFile读取串口接收数据时,原来DatBuf中的数据被覆盖 不太明白你说的:是没有及时执行ReadFile,还是执行了ReadFile,而没有及时处理DatBuf中的数据呢。 |
单帖管理 | 引用 | 回复 |
lqk |
4楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2009-3-11 18:23:00 [显示全部帖子]
在我们的例程中:
如果在执行了ReadFile后,没有处理DatBuf中的数据,下一次执行ReadFile时,DatBuf中的数据被覆盖。 你可以修改我们的例程,自己决定DatBuf的数据存放处理方式。 |
单帖管理 | 引用 | 回复 |