当前位置:网站首页>【手把手教你使用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之后在继续更新。在此感谢群里细心指导解答疑惑的大佬!!!**
边栏推荐
- 【学术相关】清华教授发文劝退读博:我见过太多博士生精神崩溃、心态失衡、身体垮掉、一事无成!...
- node 的运行命令
- [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漏洞探索】跨站脚本漏洞
- 使用百度EasyDL实现森林火灾预警识别
- vehemently condemn
- adb控制常用命令
- 刷题-洛谷-P1317 低洼地
- 两种白名单限流方案(redis lua限流,guava方案)
- 密码学系列之:PEM和PKCS7,PKCS8,PKCS12
猜你喜欢

IPV6地址

推荐系统_刘老师

C#移动OA办公系统源码(基于微信企业号)

vscode离线安装插件方法

Matlab画图2

用 Excel 爬取网络数据的四个小案例

Tear down the underlying mechanism of the five JOINs of SparkSQL

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

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

Qt Designer生成的图形可以自适应窗口的大小变化
随机推荐
idea2021版本添加上一步和下一步操作到工具栏
[Data Mining] Written Exam Questions for Sohu Data Mining Engineers
简述@RequestParam与@RequestBody参数注解
新式茶饮,卷完水果还能卷什么?
零知识证明笔记——私密交易,pederson,区间证明,所有权证明
阿里的arthas使用,入门报错:Unable to attach to 32-bit process running under WOW64
SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值试读版
帝国CMS仿核弹头H5小游戏模板/92game帝国CMS内核仿游戏网整站源码
Oreo域名授权验证系统v1.0.6公益开源版本网站源码
手撕SparkSQL五大JOIN的底层机制
从卖产品到卖“链路”:20条策略 解读直播带货迭代玩法
DICOM医学影像协议
Zero-knowledge proof notes - private transaction, pederson, interval proof, proof of ownership
【一起学Rust | 进阶篇 | Service Manager库】Rust专用跨平台服务管理库
项目难管理?先学会用好甘特图(内附操作方法及实用模板)
动态数组底层是如何实现的
二叉树是否对称
Uniapp微信雪糕刺客单页小程序源码
Oreo domain name authorization verification system v1.0.6 public open source version website source code
C语言小笔记+题