[ZLG-ARM] 串口接收多字节数据中途超时被退出,此次剩下的数据怎么

[复制链接]
2132|0
 楼主| wen2204 发表于 2007-10-15 09:26 | 显示全部楼层 |阅读模式
uint8&nbsp;UartReceive()<br />{<br />&nbsp;&nbsp;&nbsp;uint8&nbsp;IsTmeOut=0;//定义超时参数,超时后赋值为0xFF<br />&nbsp;&nbsp;&nbsp;for(i=0;i&lt5;i++)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReceiveBuf=UART1Getch(&IsTimeout);//接收一字节<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(IsTimeout==0xFF)&nbsp;&nbsp;return&nbsp;0xFF;<br />&nbsp;&nbsp;&nbsp;}<br />}<br />&nbsp;<br />接收一字节的函数UART1Getch(uint8&nbsp;*IsTimeout)中采用中断方式。<br />接收5个字节。假如接收第一个字节超时,则整个接收函数UartReceive退出,<br />这时后面的4字节数据因没有被UartReceive()函数取走会保存在哪个地方?在下一次调用函数时才被取走还是自动被冲掉?U0FCR采用的是1字节触发。<br />那中断呢?因没有被处理会被记录在U0IIR中的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

54

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部