LOG分级打印

这个是关于LOG分级打印的配置,并有时间戳,基于STM32H7和gcc; 环境 STM32H743IIT6、STM32CubeMX、GCC、MakeFile printf映射 usart.c中加入以下代码 #include "stdio.h" /*# 7- Retarget printf to UART (std library and toolchain dependent) #########*/ #if defined(__GNUC__) int _write(int fd, char *ptr, int len) { HAL_UART_Transmit(&huart1, (uint8_t *)ptr, len, HAL_MAX_DELAY); return len; } #elif defined(__ICCARM__) #include "LowLevelIOInterface.h" size_t __write(int handle, const unsigned char *buffer, size_t size) { HAL_UART_Transmit(&huart1, (uint8_t *)buffer, size, HAL_MAX_DELAY); return size; } #elif defined(__CC_ARM) int fputc(int ch, FILE *f) { HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, HAL_MAX_DELAY); return ch; } #endif #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif /* __GNUC__ */ /** * @brief Retargets the C library printf function to the USART. * @param None * @retval None */ PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, HAL_MAX_DELAY); return ch; } MakeFile中删除以下配置: ...

August 6, 2023 · 5 min · Rancho