您的位置:首页 > 其它

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

2017-12-05 10:40 1201 查看
背景:

最近的一个项目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功能,解决编译错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐