STM32F429 KEIL 使用笔记(备忘录):代码下出现红色波浪线问题等

事由:KEIL5使用过程中代码下出现红色波浪线
原因:使用了码折叠功能
解决:取消代码折叠功能
右键->倒数第二的Outlining->Hind All Outlining

关于:代码折叠功能,如果你的keil版本支持,可以通过edit->outlining->show all outlining 开启这个功能
->hide all outlining 关闭这个功能
-------------------------分隔线-----------------------分隔线-------------------------分隔线-----------------------分隔线-----------------------

bin文件生成目录:

fromelf --bin --output .\E450\E450.bin .\E450\E450.axf
fromelf --bin --output …\OBJ\E6432.bin …\OBJ\E6432.axf

-------------------------分隔线-----------------------分隔线-------------------------分隔线-----------------------分隔线-----------------------

keil中新增功能模块使用,编译报错

Error: L6218E: Undefined symbol HAL_RTCEx_BKUPRead (referred from rtc.o).
别忘了在stm32f4xx_hal_conf.h中使能相应功能
stm32f4xx_hal_conf.h

#define HAL_MODULE_ENABLED

  /* #define HAL_ADC_MODULE_ENABLED   */
/* #define HAL_CRYP_MODULE_ENABLED   */
#define HAL_CAN_MODULE_ENABLED
/* #define HAL_CRC_MODULE_ENABLED   */
/* #define HAL_CAN_LEGACY_MODULE_ENABLED   */
/* #define HAL_CRYP_MODULE_ENABLED   */
/* #define HAL_DAC_MODULE_ENABLED   */
/* #define HAL_DCMI_MODULE_ENABLED   */
/* #define HAL_DMA2D_MODULE_ENABLED   */
/* #define HAL_ETH_MODULE_ENABLED   */
/* #define HAL_NAND_MODULE_ENABLED   */
/* #define HAL_NOR_MODULE_ENABLED   */
/* #define HAL_PCCARD_MODULE_ENABLED   */
#define HAL_SRAM_MODULE_ENABLED
#define HAL_SDRAM_MODULE_ENABLED
/* #define HAL_HASH_MODULE_ENABLED   */
#define HAL_I2C_MODULE_ENABLED
/* #define HAL_I2S_MODULE_ENABLED   */
/* #define HAL_IWDG_MODULE_ENABLED   */
/* #define HAL_LTDC_MODULE_ENABLED   */
/* #define HAL_RNG_MODULE_ENABLED   */
/* #define HAL_RTC_MODULE_ENABLED   */
/* #define HAL_SAI_MODULE_ENABLED   */
/* #define HAL_SD_MODULE_ENABLED   */
/* #define HAL_MMC_MODULE_ENABLED   */
#define HAL_SPI_MODULE_ENABLED
#define HAL_TIM_MODULE_ENABLED
#define HAL_UART_MODULE_ENABLED
/* #define HAL_USART_MODULE_ENABLED   */
/* #define HAL_IRDA_MODULE_ENABLED   */
/* #define HAL_SMARTCARD_MODULE_ENABLED   */
/* #define HAL_SMBUS_MODULE_ENABLED   */
/* #define HAL_WWDG_MODULE_ENABLED   */
/* #define HAL_PCD_MODULE_ENABLED   */
/* #define HAL_HCD_MODULE_ENABLED   */
/* #define HAL_DSI_MODULE_ENABLED   */
/* #define HAL_QSPI_MODULE_ENABLED   */
/* #define HAL_QSPI_MODULE_ENABLED   */
/* #define HAL_CEC_MODULE_ENABLED   */
/* #define HAL_FMPI2C_MODULE_ENABLED   */
/* #define HAL_FMPSMBUS_MODULE_ENABLED   */
/* #define HAL_SPDIFRX_MODULE_ENABLED   */
/* #define HAL_DFSDM_MODULE_ENABLED   */
/* #define HAL_LPTIM_MODULE_ENABLED   */
#define HAL_GPIO_MODULE_ENABLED
#define HAL_EXTI_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_RTC_MODULE_ENABLED

-------------------------分隔线-----------------------分隔线-------------------------分隔线-----------------------分隔线-----------------------

今天调试RTC 实时时钟,又遇到一个大坑

HAL_RTC_GetTime(&RTC_Handler,&RTC_TimeStruct,RTC_FORMAT_BIN);
sprintf((char*)tbuf,"Time:%02d:%02d:%02d",RTC_TimeStruct.Hours,RTC_TimeStruct.Minutes,RTC_TimeStruct.Seconds); 
printf("%s\n", tbuf);

只用以上这段代码输出时间,时间始终不变,经过2个多小时的测试,加上以下这段,

HAL_RTC_GetDate(&RTC_Handler,&RTC_DateStruct,RTC_FORMAT_BIN);
sprintf((char*)tbuf,"Date:20%02d-%02d-%02d",RTC_DateStruct.Year,RTC_DateStruct.Month,RTC_DateStruct.Date); 
printf("%s\n", tbuf);

终于时间变化了。都是学艺不精的祸。
在此引用以下大神解析:
STM32 HAL库读取RTC时钟一直不更新时间的问题

你可能感兴趣的:(keil,keil,mdk)