From 8363cf1d72076f95f27a8ab2119225b21ce856f9 Mon Sep 17 00:00:00 2001 From: pio <pio@server.local> Date: Wed, 2 Aug 2023 16:00:30 +0200 Subject: [PATCH] fix uart fractional baudrate calc --- ch32v003fun/ch32v003fun.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ch32v003fun/ch32v003fun.h b/ch32v003fun/ch32v003fun.h index 3e07c24..147ba0d 100644 --- a/ch32v003fun/ch32v003fun.h +++ b/ch32v003fun/ch32v003fun.h @@ -5109,10 +5109,10 @@ void SystemInit(void); #else #define UART_BAUD_RATE 115200 #endif -#define OVER8DIV 4 -#define INTEGER_DIVIDER (((25 * (FUNCONF_SYSTEM_CORE_CLOCK)) / ((OVER8DIV) * (UART_BAUD_RATE)))) +#define OVER4DIV 4 +#define INTEGER_DIVIDER (((25 * (FUNCONF_SYSTEM_CORE_CLOCK)) / ((OVER4DIV) * (UART_BAUD_RATE)))) #define FRACTIONAL_DIVIDER ((INTEGER_DIVIDER)%100) -#define UART_BRR ((((INTEGER_DIVIDER) / 100) << 4) | (((((FRACTIONAL_DIVIDER) * ((OVER8DIV)*2)) + 50)/100)&7)) +#define UART_BRR ((((INTEGER_DIVIDER) / 100) << 4) | (((((FRACTIONAL_DIVIDER) * ((OVER4DIV)*4)) + 50)/100)&15)) // Put an output debug UART on Pin D5. // You can write to this with printf(...) or puts(...) -- GitLab