找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 427|回复: 10
收起左侧

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

[复制链接]
ID:71233 发表于 2023-12-1 12:12 | 显示全部楼层 |阅读模式
如题,HAL库中的中断配置和控制函数在哪个地方? 000.jpg
注意:不是中断回调函数。


回复

使用道具 举报

ID:195496 发表于 2023-12-2 08:15 | 显示全部楼层
不知所云,说得明白些。
回复

使用道具 举报

ID:883242 发表于 2023-12-2 17:48 | 显示全部楼层
NVIC并不是STM32 peripherals,而是ARM提供的Cortex-M内核的一部分,,,所以到哪里找就应该知道了吧。
回复

使用道具 举报

ID:71233 发表于 2023-12-3 08:49 | 显示全部楼层
Hephaestus 发表于 2023-12-2 17:48
NVIC并不是STM32 peripherals,而是ARM提供的Cortex-M内核的一部分,,,所以到哪里找就应该知道了吧。

stm32f1xx_it.c是集成中断服务函数,这个我就知道。中断的配置在哪里,真的还不知道。
回复

使用道具 举报

ID:384109 发表于 2023-12-3 13:37 | 显示全部楼层
看你的列表,你应该就没有使用任何中断
回复

使用道具 举报

ID:883242 发表于 2023-12-3 16:27 | 显示全部楼层
lmn2005 发表于 2023-12-3 08:49
stm32f1xx_it.c是集成中断服务函数,这个我就知道。中断的配置在哪里,真的还不知道。

看了文件名stm32就不是你想找的。
回复

使用道具 举报

ID:1102328 发表于 2023-12-4 16:02 | 显示全部楼层
你把这个stm32f1xx_it.c展开,里面没有同名的.h文件吗,你是不是说的初始化设置这些
回复

使用道具 举报

ID:71233 发表于 2023-12-4 18:44 | 显示全部楼层
smdh008 发表于 2023-12-4 16:02
你把这个stm32f1xx_it.c展开,里面没有同名的.h文件吗,你是不是说的初始化设置这些


stm32f1xx_it.h:
  1. /* USER CODE BEGIN Header */
  2. /**
  3.   ******************************************************************************
  4.   * @file    stm32f1xx_it.h
  5.   * @brief   This file contains the headers of the interrupt handlers.
  6.   */
  7. /* USER CODE END Header */

  8. /* Define to prevent recursive inclusion -------------------------------------*/
  9. #ifndef __STM32F1xx_IT_H
  10. #define __STM32F1xx_IT_H

  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif

  14. /* Private includes ----------------------------------------------------------*/
  15. /* USER CODE BEGIN Includes */

  16. /* USER CODE END Includes */

  17. /* Exported types ------------------------------------------------------------*/
  18. /* USER CODE BEGIN ET */

  19. /* USER CODE END ET */

  20. /* Exported constants --------------------------------------------------------*/
  21. /* USER CODE BEGIN EC */

  22. /* USER CODE END EC */

  23. /* Exported macro ------------------------------------------------------------*/
  24. /* USER CODE BEGIN EM */

  25. /* USER CODE END EM */

  26. /* Exported functions prototypes ---------------------------------------------*/
  27. void NMI_Handler(void);
  28. void HardFault_Handler(void);
  29. void MemManage_Handler(void);
  30. void BusFault_Handler(void);
  31. void UsageFault_Handler(void);
  32. void SVC_Handler(void);
  33. void DebugMon_Handler(void);
  34. void PendSV_Handler(void);
  35. void SysTick_Handler(void);
  36. void USB_LP_CAN1_RX0_IRQHandler(void);
  37. /* USER CODE BEGIN EFP */

  38. /* USER CODE END EFP */

  39. #ifdef __cplusplus
  40. }
  41. #endif

  42. #endif /* __STM32F1xx_IT_H */
复制代码



回复

使用道具 举报

ID:71233 发表于 2023-12-4 18:45 | 显示全部楼层
人中狼 发表于 2023-12-3 13:37
看你的列表,你应该就没有使用任何中断

是的,除了系统默认开启的中断外,其他的都没有。
回复

使用道具 举报

ID:883242 发表于 2023-12-4 21:25 | 显示全部楼层
我再说一遍,中断配置和控制并不是ST公司提供的STM32的功能,你去查STM32的资料,或者找库文件里面带有stm32字样文件名的文件,是找不到的,因为根本就不存在。

中断配置和控制是ARM提供的Cortex-M3内核的功能,如果要看书,去看《Cortex-M3权威指南》,如果要在库文件里面找,只能在CMSIS那部分找得到。我随便打开一个项目,发现这些功能在core_cm3.h里面定义的。不知道你用的是什么版本的库,自己用IDE的find in files功能搜去吧。
回复

使用道具 举报

ID:71233 发表于 2023-12-5 09:26 | 显示全部楼层
Hephaestus 发表于 2023-12-4 21:25
我再说一遍,中断配置和控制并不是ST公司提供的STM32的功能,你去查STM32的资料,或者找库文件里面带有stm3 ...

这样说就很明了了。不知道是自己水平有限还是真的没有,我在所有的.c.h中找不到中断配置的原型(特别是中断号为负数的中断),只能找到一些关闭或开启中断有通用函数,例如:void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)、void HAL_NVIC_DisableIRQ(IRQn_Type IRQn)、__disable_irq()、 __enable_irq()。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表