ST意法半导体
直播中

tulin

12年用户 1228经验值
私信 关注
[问答]

如何使用CubeMX生成包含MCSDK的应用程序?

嗨,我正在使用 CubeMX 生成包含 MCSDK 的应用程序,生成的代码同时具有 stmg4xx_mc_it.c 和 STM32g4xx_it.c。我注意到所有与电机控制相关的 ISR 代码都编码在 stm32g4xx_mc_it.c 中,我对 2 个问题感到困惑:
  • 在startup_stm32g474xx.s中找不到生成的ISR函数原型。我想知道如何在向量表中引用 ISR。
  • 如果我需要添加更多的 ISR,我应该把 ISR 函数放在哪里?stm32g4xx_it.c 或 stm32g4xx_mc_it.c 下

回帖(1)

钟晶

2022-12-27 10:37:57
你好,
关于stmg4xx_mc_it.c中定义的ISR函数原型,有#defines  将这些名字改成startup_stm32g474xx.s中定义的名字。这些定义可以在文件 parameters_conversion_g4xx.h 和文件 mcp_config.h 中找到。以下是 STM32G4 的定义:

#define TIMx_UP_M1_IRQHandler TIM1_UP_TIM16_IRQHandler
#define TIMx_BRK_M1_IRQHandler TIM1_BRK_TIM15_IRQHandler
#define USARTA_IRQHandler USART2_IRQHandler
#define MCP_RX_IRQHandler_A DMA2_Channel2_IRQHandler

最好在文件 stm32g4xx_it.c 中添加您自己的 ISR 处理程序。但要注意:如果您配置额外的 ISR,您可能应该在 STM32CubeMx 中配置相关的外设。然后,STM32CubeMx 将在文件 stm32g4xx_it.c 中为您生成 ISR 处理程序。然后,您可以在需要时/在需要的地方用您自己的代码填充 USER SECTIONS。有关所有详细信息,请查看 STM32CubeMx 文档。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分