社区
驱动开发/核心开发
帖子详情
uart完成类似pc串口的“接收超时”如何设计比较好?
暗夜精灵
2012-12-04 11:16:32
比如说,我PC和开发板用特定协议通讯,一次发一帧,帧长度不定
单片机在接收到任意一个字节后,如果超过0.5秒无后续数据,则认为是一帧。
目前就想到用定时器,不过芯片上总共才4个定时器,太浪费了,有没有什么好点的办法?
uart有没有超时一类的功能?
...全文
279
4
打赏
收藏
uart完成类似pc串口的“接收超时”如何设计比较好?
比如说,我PC和开发板用特定协议通讯,一次发一帧,帧长度不定 单片机在接收到任意一个字节后,如果超过0.5秒无后续数据,则认为是一帧。 目前就想到用定时器,不过芯片上总共才4个定时器,太浪费了,有没有什么好点的办法? uart有没有超时一类的功能?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
懒得烧死蛇吃
2012-12-06
打赏
举报
回复
那要看你的开发板是用的什么芯片,有的开发板芯片是有串口超时中断寄存器设置的, 在串口通讯协议中,最好在包中添加包的长度,如果在规定时间内没有读取到指定的长度则认为通信失败,丢弃帧。
sophyyoung
2012-12-06
打赏
举报
回复
原地等待明白的吧:指令延时,for多少次,看期间有没有新字节来,for完还没有新的,那就一帧完了,有新的那就重新for……
sophyyoung
2012-12-06
打赏
举报
回复
定时器不就是拿来用的嘛,都省下来了,谁用啊,该用就用呗。 这个,字节和字节之间,一般除了定时器,还真不好办,而且这是属于通讯的,一般还不好和别人公用,确实挺浪费的。除非如果你能多线程,那你原地等待咯。。。
开源一STM32项目,CAN,
UART
,Input检测 原创相对高效性能与代码重用平衡思路,可直接做工程模板
当然也可以在中断中增加事件机制,
类似
CAN中断触发低优先级软件中断,多个
串口
可在同一个软件中断服务中处理。 调试输出DbgPrintf函数,Function.C。 已使用大量连续数据测试该机制收发均可用,
UART
1~5均可用...
xjf_stm8l_
PC
_
UART
_TIMEOUT_RCV.7z
例程实现了STM8L051F3
串口
接收
中断
超时
判断数据结束.例程开发环境IAR FOR STM8 V3.10. 请用7Z软件解压.
SAM4E单片机之旅——USART
实现思路和上一次使用
UART
的PDC差不多,区别只是这次直接使用USART的
接收
超时
功能,而不用TC。 二、电路图 使用的USART口为USART1,这个
串口
在上次使用的DBGU口的旁边。 有个使能引脚连在PA23上。使用时...
SAM4E单片机之旅——12、USART
一、 思路 实现思路和上使用
UART
的PDC差不多,区别只是这次直接使用USART的
接收
超时
功能,而不用TC。 二、 电路图 使用的USART口为USART1,这个
串口
在上次使用的DBGU口的旁边。 有个使能引脚连在PA23
单片机与DSP中的SAM4E单片机之旅——12、USART
一、 思路 实现思路和上一次使用
UART
的PDC差不多,区别只是这次直接使用USART的
接收
超时
功能,而不用TC。 二、 电路图 使用的USART口为USART1,这个
串口
在上次使用的DBGU口的旁边。 有个使能引
驱动开发/核心开发
21,600
社区成员
21,708
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章