STM32中断流程(简洁清晰)以及在标准库与HAL中的区别

一、中断服务函数和中断程序的概念:

HAL_UART_Receive_IT:用于启动接收中断的服务函数

HAL_UART_IRQHandler:用于处理接收完成中断的中断服务函数

USART1_IRQHandler:是中断程序(在中断向量表中,我的stm32f103c8t6芯片在startup_stm32f103xb.s文件中可以找到),也称为 中断处理函数。它是当 USART1 硬件发生中断时,处理该中断的函数。

二、中断流程顺序:

一、首先,要产生中断,要服务函数(HAL_UART_Receive_IT)去启用。

二、然后这个中断会调用中断处理函数(HAL_UART_IRQHandler)。

三、而中断处理函数里面要调用中断服务函数,这是因为每一次中断都要由中断服务函数(HAL_UART_IRQHandler)去处理。

三、在标准库与HAL的区别

从上面我们知道,在中断后,会进入中断服务函数,而中断服务函数里面会执行中断处理函数。而这个中断处理函数在标准库和HAL库中是不同的。

HAL库中会有自己封装的中断处理函数,这里面会自己判断一下中断标志位。

而在标准库中,没有封装的中断处理函数,需要在中断服务函数中自己写(包括判断标准位,以及调用回调函数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值