8-HC32F460(华大单片机)-串口(定时器空闲检测)

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnHC32F460" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

串口空闲中断

串口发送数据的时候都是一条一条发送的.

单片机判断接收完一条数据一般做法是:

在接收数据的过程中,如果超过一段时间没有新的数据过来,就认为前面接收完了一条数据.

然后再去处理数据.

 

关于此单片机的空闲中断

感觉这单片机的功能制作是总结了项目经验之后做的.

这个单片机使用的是单独的定时器去配置超时时间, 

定时器0的第一路的A通道作为串口1的串口接收超时定时器

定时器0的第一路的B通道作为串口2的串口接收超时定时器

定时器0的第二路的A通道作为串口3的串口接收超时定时器

定时器0的第二路的B通道作为串口4的串口接收超时定时器

 

 

 

 

直接看程序

1.我使用的是串口1. 首先看定时器配置

配置定时器0的第一路的通道A

我设置的定时时间是10ms左右, 那么串口空闲接收超时时间就是10ms

最后是启动硬件触发(启动硬件触发其实内部默认就是串口1去触发)

 

 

2.串口配置

串口和先前的例程没有大的区别,但是要注意需要让其输出时钟信号

 

 

然后呢加上串口空闲中断

 

 

 

我在中断里面是设置led翻转

 

 

 

测试

把这节程序下载到开发板,然后使用调试助手给单片机串口1发送数据

会观察到,每次发送完数据,开发板上的小灯就会翻转

 

 

提示

定时器0以后就不要使用了哈....

用别的定时器吧

 

其它串口例程参考官方例程(后面不一定写串口中断发送和DMA的例程)

 

posted on   广源时代  阅读(2224)  评论(1编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

导航

支付宝 QQ群
点击右上角即可分享
微信分享提示