当前位置:网站首页>【手把手教你使用STM32HAL库的串口空闲中断】
【手把手教你使用STM32HAL库的串口空闲中断】
2022-08-04 20:42:00 【xixiaohuanqaq】
一、 测试环境
STM32H750VBTX开发板
二、步骤
1、打开串口空闲中断
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
// 在main函数前面 open IDLE ,这个size就是你自己设置的缓冲数组的大小,在下面贴出来的文件有这个函数的定义
此函数在stm32h7xx_hal_uart_ex.c里面,这就已经打开了串口空闲中断,之前查的说的都不正确,在一个交流群里才知道原来是这么简单。

2、直接使用串口空闲回调函数
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{
if(huart->Instance == USART1){
//直接调用这个串口空闲回调函数即可,这个size就是每次串口接收的字节数
}
HAL_UARTEx_ReceiveToIdle_IT() //再次打开串口空闲中断
}
3、 HAL_UART_IRQHandler(&huart1);
void USART1_IRQHandler(void)
{
/* USER CODE BEGIN USART1_IRQn 0 */
/* USER CODE END USART1_IRQn 0 */
HAL_UART_IRQHandler(&huart1);//标志位的处理这个函数都帮我们处理好了我们直接调用回调函数即可!
/* USER CODE BEGIN USART1_IRQn 1 */
/* USER CODE END USART1_IRQn 1 */
}
三、总结
**通过HAL库使用串口空闲中断就是如此的简单,之前查阅过很多资料,都不是使用HAL库,都是改写的,感觉五花八门,没有真正的去理解HAL库这一套东西,真正使用HAL库会变得简单很多。
目前只使用到了串口空闲中断,后续使用到DMA之后在继续更新。在此感谢群里细心指导解答疑惑的大佬!!!**
边栏推荐
- Zero-knowledge proof notes - private transaction, pederson, interval proof, proof of ownership
- 实现菜单拖拽排序
- 二叉搜索树解决硬木问题
- 微信小程序云开发 | 赠、删、改城市名称信息的应用实现
- 项目难管理?先学会用好甘特图(内附操作方法及实用模板)
- [Data Mining] Written Exam Questions for Sohu Data Mining Engineers
- C#将对象转换为Dictionary字典集合
- Apache服务器配置多个站点
- Go study notes (Part 1) Configuring the Go development environment
- [Academic related] Tsinghua professor persuaded to quit his Ph.D.:I have seen too many doctoral students have mental breakdowns, mental imbalances, physical collapses, and nothing!...
猜你喜欢

web漏洞扫描器-awvs

【TypeScript】深入学习TypeScript枚举

How to carry out AI business diagnosis and quickly identify growth points for cost reduction and efficiency improvement?

二叉搜索树解决硬木问题

文章复现:超分辨率网络-VDSR

推荐系统_刘老师

AWS SES 的监控和告警

构建Buildroot根文件系统(I.MX6ULL)

Oreo域名授权验证系统v1.0.6公益开源版本网站源码

刷题-洛谷-P1200 你的飞碟在这儿Your Ride Is Here
随机推荐
C语言之实现扫雷小游戏
win10 uwp 使用 ScaleTransform 放大某个元素
Debug locally and start the local server in vs code
【一起学Rust | 进阶篇 | Service Manager库】Rust专用跨平台服务管理库
宝塔实测-搭建中小型民宿酒店管理源码
vscode离线安装插件方法
xss课堂内容复现
微信小程序云开发 | 赠、删、改城市名称信息的应用实现
暴雨中的人
推荐系统_刘老师
Desthiobiotin衍生物Desthiobiotin-PEG4-Amine/Alkyne/Azide/DBCO
After encountering MapStruct, the conversion between PO, DTO and VO objects is no longer handwritten
基于单向链表结构的软件虚拟定时器的设计与构建
vehemently condemn
Desthiobiotin-PEG4-Azide_脱硫生物素-叠氮化物 100mg
Apache服务器配置多个站点
明明加了唯一索引,为什么还是产生了重复数据?
零知识证明笔记——私密交易,pederson,区间证明,所有权证明
run command for node
Big capital has begun to flee the crypto space?