【stm32MXcube+HAL库笔记】HAL库中中断的问题(基于usart)
前段时间做hal库的东西时候遇到的一点小问题,然后仔细研究学习了一下做了一个笔记
1 HAL库中中断的流程
hal库中断流程是比标准库中断要多的。
分为
中断服务程序:和标准库里的一样的,一般放置在it.c文件里
中断通用处理函数:hal库下特有的中断处理函数,用于判断这对这个中断源,是哪个具体的中断引起,比如串口,中断通用处理函数判断是usart1出发中断,但是并不知道是什么中断,可能是发送中断,也可能是接受中断
中断接收函数:hal库特有,由中断通用处理函数引导出来,处理具体的中断信号(比如usart1的发送中断),在完成之后会自动调用中断回调函数
==中断回调函数:hal库特有,用户可以编写。我的个人理解就是,标准库中放在中断服务函数里的东西,放在这个函数里,具体就是执行中断触发接下来要干啥,也不需要你清空标志位,在上一个函数中就清完了,用户层想干啥就往里面塞就完事了。
2 中断中一些特别的地方(usart为例)
1、在每次回调函数中要加下代码
HAL_UART_Receive_IT(&huart1,