完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
之前一直都是跑裸机,最近在研究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(); } } |
|
相关推荐
4个回答
|
|
你可以用同样的方法。
|
|
|
|
感谢原子哥!可这样一来感觉跟跑裸机没啥区别了,反而增加了代码的复杂度。。。
|
|
|
|
|
|
|
|
这里我只是放了一个任务上来 多任务的时候该怎么协调呢
|
|
|
|
只有小组成员才能发言,加入小组>>
710 浏览 0 评论
1120 浏览 1 评论
2497 浏览 5 评论
2836 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2677 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
662浏览 9评论
673浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
791浏览 6评论
638浏览 5评论
681浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 04:57 , Processed in 0.749240 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号