[STM32F1] HAL库中的中断配置和控制函数在哪个地方c或h文件?

[复制链接]
3503|31
 楼主| lmn2005 发表于 2023-12-1 12:04 | 显示全部楼层 |阅读模式
本帖最后由 lmn2005 于 2023-12-1 12:12 编辑

如题。请知晓的大佬指导一下,谢谢!

香水城 发表于 2023-12-3 21:37 | 显示全部楼层
除了默认人的systick和其它hardfault中断外,没有你在CubeMx里的NVIC Setting那

里做中断响应使能是不会产生中断的。
98759656c84873f560.png

看有哪些中断被使能了,cubeMx里很直观。这个地方:
5074656c846472f32.png



probedog 发表于 2023-12-4 15:13 | 显示全部楼层
在HAL库中,中断配置和控制函数通常位于.c文件中。对于STM32 HAL库,中断相关的函数通常位于stm32fxxx_hal_interrupt.c文件中,其中xxx是具体的STM32型号。
 楼主| lmn2005 发表于 2023-12-4 18:12 | 显示全部楼层
alvpeg 发表于 2023-12-7 21:55 | 显示全部楼层
在stm32f1xx_hal_conf.h头文件中。
51xlf 发表于 2023-12-8 10:34 | 显示全部楼层
hal_nvic.c 文件包含了HAL库中与NVIC(Nested Vector Interrupt Controller)相关的中断处理函数,如NVIC初始化、中断线程优先级设置等。

评论

我用工具生成的初始化工程中没有hal_nvic.c。  发表于 2023-12-8 10:49
xiaoyaodz 发表于 2023-12-8 17:01 | 显示全部楼层
hal_uart.c/h:这两个文件包含了与串口相关的 interrupt 函数,如UART中断接收、发送等。

hal_tim.c/h:这两个文件包含了与定时器相关的 interrupt 函数,如TIM中断处理等。

hal_gpio.c/h:这两个文件包含了与GPIO相关的 interrupt 函数,如GPIO中断处理等。

评论

原来中断配置是分开的  发表于 2023-12-8 19:06
chenjun89 发表于 2023-12-8 19:40 来自手机 | 显示全部楼层
每个外设对应的HAL库都有相应中断设置。
sheflynn 发表于 2023-12-8 21:16 | 显示全部楼层
中断配置和控制函数可以在NVIC.c和NVIC.h文件中编写
dspmana 发表于 2023-12-8 21:56 | 显示全部楼层
中断服务函数执行的过程包括中断标志位的判断、标志位清理以及回调函数的调用。用户主要通过编写回调函数来实现需求。
kmzuaz 发表于 2023-12-9 10:48 | 显示全部楼层
STM32 HAL库的中断源在stm32f429xx.h文件中,与中断服务函数一一对应,而中断服务函数位于启动文件startup_stm32f429xx.s之中,里面有中断向量表,存储着中断服务函数的地址。
gygp 发表于 2023-12-9 16:22 | 显示全部楼层
HAL库中的中断配置和控制函数在HAL库的源代码文件中。
claretttt 发表于 2023-12-9 20:45 | 显示全部楼层
位于STM32CubeMX生成的工程目录中的HAL库文件夹内。
beacherblack 发表于 2023-12-9 21:27 | 显示全部楼层
在HAL库中,中断服务函数通常位于.c文件中。
mmbs 发表于 2023-12-9 22:25 | 显示全部楼层
建议参考相应的硬件参考手册或HAL库的官方文档
lihuami 发表于 2023-12-10 15:56 | 显示全部楼层
对于TIM2_IRQn中断,它的中断处理程序在stm32f1xx_it.c文件中,而它的中断配置函数则在stm32f1xx_hal_tim_start_irq.c文件中。
jimmhu 发表于 2023-12-10 16:20 | 显示全部楼层
在STM32开发中,使用HAL库函数实现中断配置和控制通常需要在.c或.h文件中编写相关代码。
robertesth 发表于 2023-12-10 17:32 | 显示全部楼层
在每个中断处理程序的c文件中,都会有一个对应的中断配置函数。
macpherson 发表于 2023-12-12 14:57 | 显示全部楼层
在HAL库中,中断配置和控制函数通常存放在对应的c或h文件中。
10299823 发表于 2023-12-13 10:44 | 显示全部楼层
通用中断处理函数:位于stm32xxx_hal_exti.c和stm32xxx_hal_exti.h文件中。这些文件包含了HAL库中的外部中断处理函数和中断回调函数。
定时器中断处理函数:位于stm32xxx_hal定时器.c和stm32xxx_hal定时器.h文件中。这些文件包含了定时器中断的处理函数和相关配置函数。
串口中断处理函数:位于stm32xxx_hal串口.c和stm32xxx_hal串口.h文件中。这些文件包含了串口中断的处理函数和相关配置函数。
ADC中断处理函数:位于stm32xxx_hal_adc.c和stm32xxx_hal_adc.h文件中。这些文件包含了ADC中断的处理函数和相关配置函数。
DAC中断处理函数:位于stm32xxx_hal_dac.c和stm32xxx_hal_dac.h文件中。这些文件包含了DAC中断的处理函数和相关配置函数。
EXTI中断处理函数:位于stm32xxx_hal_exti.c和stm32xxx_hal_exti.h文件中。这些文件包含了EXTI中断的处理函数和相关配置函数。
HAL库核心文件:位于stm32xxx_hal.c和stm32xxx_hal.h文件中。这些文件包含了HAL库的核心功能,如初始化、配置、中断处理等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

74

主题

609

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部