初级会员

- 积分
- 63
- 金钱
- 63
- 注册时间
- 2016-5-31
- 在线时间
- 12 小时
|
5金钱
之前一直都是跑裸机,最近在研究ucosii,很多地方用起来还非常不习惯。在串口数据的处理上也不是太明白,还望好心朋友指点指点,图为跑裸机时的思路,即通过判断相邻2个字节间的时间来判断这一帧数据是否已经传输完成,如2Byte数据间的间隔大于20ms,就认为本帧数据传输结束,开始对本帧数据进行解析处理。那在ucos中我需要怎么去判断一帧数据在什么时候传输结束呢?还是按当前的方法吗?求指点
uint8_t RcvBuf[256];
uint32_t writeIndex;
uint32_t timeOut;
void USART1_IRQHandler(void)
{
uint8_t temp;
temp = USART1->DR;
RcvBuf[writeIndex++] = temp&0xff;
}
void TIMER1_IRQHandler(void)
{
//定时1ms
if(timeOut)timeOut++;
}
int main(void)
{
int...
while(1)
{
if(timeOut>=50)
{
处理"RcvBuf[]"
}
OtherDeal();
}
}
|
|