欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

STM32 cubeMX 前期项目未生成部分模块,后期需要添加功能模块时出现L6218E错误问题的解决方法

程序员文章站 2024-03-01 17:18:52
...

背景:

最近的一个项目cub前期cubeMX未生成Timer部分程序,后期项目需要使用timer时需要往项目添加该部分程序时,编译出现L6218E: Error: L6218E: Undefined symbol HAL_TIMEx_MasterConfigSynchronization (referred from timer.o)等错误。

原因:

cubeMX软件在配置功能时,使用某一部分功能,会打开某一部分的功能接口,在stm32l1xx_hal_conf.h文件中有该部分的代码。

#define HAL_MODULE_ENABLED  
#define HAL_ADC_MODULE_ENABLED
/*#define HAL_CRYP_MODULE_ENABLED   */
/*#define HAL_COMP_MODULE_ENABLED   */
/*#define HAL_CRC_MODULE_ENABLED   */
/*#define HAL_CRYP_MODULE_ENABLED   */
#define HAL_DAC_MODULE_ENABLED
#define HAL_I2C_MODULE_ENABLED
/*#define HAL_I2S_MODULE_ENABLED   */
/*#define HAL_IRDA_MODULE_ENABLED   */
/*#define HAL_IWDG_MODULE_ENABLED   */
/*#define HAL_LCD_MODULE_ENABLED   */
/*#define HAL_NOR_MODULE_ENABLED   */
/*#define HAL_OPAMP_MODULE_ENABLED   */
/*#define HAL_PCD_MODULE_ENABLED   */
#define HAL_RTC_MODULE_ENABLED
/*#define HAL_SD_MODULE_ENABLED   */
/*#define HAL_SMARTCARD_MODULE_ENABLED   */
/*#define HAL_SPI_MODULE_ENABLED   */
/*#define HAL_SRAM_MODULE_ENABLED   */
/*#define HAL_TIM_MODULE_ENABLED*/   
#define HAL_UART_MODULE_ENABLED
/*#define HAL_USART_MODULE_ENABLED   */
/*#define HAL_WWDG_MODULE_ENABLED   */
#define HAL_GPIO_MODULE_ENABLED
#define HAL_DMA_MODULE_ENABLED
#define HAL_RCC_MODULE_ENABLED
#define HAL_FLASH_MODULE_ENABLED
#define HAL_PWR_MODULE_ENABLED
#define HAL_CORTEX_MODULE_ENABLED

解决方法:

将上述代码中的/*#define HAL_TIM_MODULE_ENABLED*/ 修改为#define HAL_TIM_MODULE_ENABLED,这样便可使用TIMER功能,解决编译错误。

相关标签: STM32