STM32
登录
直播中
fdjslkjd
8年用户
1085经验值
擅长:光电显示
私信
关注
[问答]
串口非空闲中断接收有何作用
开启该帖子的消息推送
串口
串口非空闲中断接收有何作用?
怎样去判断串口非空闲中断接收呢?
回帖
(1)
张宇
2021-12-9 14:12:50
一、前言
在实际工作上,串口连续中断接收最灵活与实用。
如果项目上使用了RTOS,那么串口非空闲中断接收+消息队列就是一个完美的组合。如果项目上没有使用RTOS,那么串口非空闲中断接收+ringbuffer算法(FIFO)也是一个完美的组合。
二、CubeMX
2.1、选择串口
接着,需要打开global interrupt。
为了更加稳定,上拉USART3_RX引脚。
三、代码
3.1、main.c
__HAL_UART_ENABLE_IT()打开串口3的接收非空闲中断。
3.2、stm32f7xx_it.c
在中断回调函数里,判断是不是非空闲中断
。下图摘自STM32F103项目,STM32H743的话,需要将huart3.Instance->DR改为huart3.Instance->RDR。当中断时非空闲中断时,将接收到的字符放入FIFO里,等解释串口的代码从FIFO里获取即可。(中断回调函数不能写太多代码,中断回调函数必须快进快出,保证整个系统的实时性。)
一、前言
在实际工作上,串口连续中断接收最灵活与实用。
如果项目上使用了RTOS,那么串口非空闲中断接收+消息队列就是一个完美的组合。如果项目上没有使用RTOS,那么串口非空闲中断接收+ringbuffer算法(FIFO)也是一个完美的组合。
二、CubeMX
2.1、选择串口
接着,需要打开global interrupt。
为了更加稳定,上拉USART3_RX引脚。
三、代码
3.1、main.c
__HAL_UART_ENABLE_IT()打开串口3的接收非空闲中断。
3.2、stm32f7xx_it.c
在中断回调函数里,判断是不是非空闲中断
。下图摘自STM32F103项目,STM32H743的话,需要将huart3.Instance->DR改为huart3.Instance->RDR。当中断时非空闲中断时,将接收到的字符放入FIFO里,等解释串口的代码从FIFO里获取即可。(中断回调函数不能写太多代码,中断回调函数必须快进快出,保证整个系统的实时性。)
举报
更多回帖
rotate(-90deg);
回复
相关问答
串口
请问一下STM32F407
串口
空闲
中断
+DMA
接收有
何
应用呢
2021-11-16
1151
如何利用IDLE
中断
进行
串口
不定长数据的
接收
呢
2021-12-08
1217
空闲
中断
接收
原理是什么?怎么使用?
2021-12-13
704
请问STM32
串口中断
/DMA
接收有
哪些注意事项?
2021-11-16
870
可以用
串口
空闲
中断
+DMA来实现
串口
接收
不定长数据吗?
2023-03-07
456
STM32
串口中断
/DMA
接收有
哪些注意事项?
2021-12-16
1344
GD32
串口
dma
接收
空闲
中断
配置流程是怎样的?
2023-11-03
390
rt-thread
串口
+DMA+
空闲
中断
数据被拆分包怎么处理?
2023-05-12
871
STM32F4
空闲
中断
接收
的原理是什么?如何去使用呢
2021-11-16
919
STM32F103VET6的
串口
是怎样去使用DMA+
串口
空闲
中断
接收
数据的
2021-12-13
911
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分