diff --git a/ch32v003fun/ch32v003fun.c b/ch32v003fun/ch32v003fun.c index eb0ebc497d333c37b8591e49a7d31abf06e5df80..12f693b4fb2c72b9cb3d1b318b52630a5d4354a8 100644 --- a/ch32v003fun/ch32v003fun.c +++ b/ch32v003fun/ch32v003fun.c @@ -1049,7 +1049,7 @@ void SystemInit() #endif #if defined( FUNCONF_USE_UARTPRINTF ) && FUNCONF_USE_UARTPRINTF - SetupUART( FUNCONF_UARTPRINTF_BAUD ); + SetupUART( UART_BRR ); #endif #if defined( FUNCONF_USE_DEBUGPRINTF ) && FUNCONF_USE_DEBUGPRINTF SetupDebugPrintf(); diff --git a/ch32v003fun/ch32v003fun.h b/ch32v003fun/ch32v003fun.h index dfd5e4efb75f67f3e2d4fe9fb62a0bca8e3d5403..c9b88cdaf0705899cc3c8c9b3d8533ff91995ab2 100644 --- a/ch32v003fun/ch32v003fun.h +++ b/ch32v003fun/ch32v003fun.h @@ -5092,9 +5092,13 @@ void DelaySysTick( uint32_t n ); int main() __attribute__((used)); void SystemInit(void); -#define UART_BAUD_RATE 115200 +#ifdef FUNCONF_UART_PRINTF_BAUD + #define UART_BAUD_RATE FUNCONF_UART_PRINTF_BAUD +#else + #define UART_BAUD_RATE 115200 +#endif #define OVER8DIV 4 -#define INTEGER_DIVIDER (((25 * (APB_CLOCK)) / ((OVER8DIV) * (UART_BAUD_RATE)))) +#define INTEGER_DIVIDER (((25 * (FUNCONF_SYSTEM_CORE_CLOCK)) / ((OVER8DIV) * (UART_BAUD_RATE)))) #define FRACTIONAL_DIVIDER ((INTEGER_DIVIDER)%100) #define UART_BRR ((((INTEGER_DIVIDER) / 100) << 4) | (((((FRACTIONAL_DIVIDER) * ((OVER8DIV)*2)) + 50)/100)&7)) // Put an output debug UART on Pin D5.