X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=cpu%2Favr%2Fdrv%2Fser_avr.c;h=d690a65f4566424913bc6abd8545062d2b48b3b3;hb=28b5d3be3a4fa44246db263306bda7ae99f3f238;hp=7b55318005bac0877c4e3488984fc3ac147edf27;hpb=9c6545aacf8bb77445e7c19e41117d2318d752cc;p=bertos.git diff --git a/cpu/avr/drv/ser_avr.c b/cpu/avr/drv/ser_avr.c index 7b553180..d690a65f 100644 --- a/cpu/avr/drv/ser_avr.c +++ b/cpu/avr/drv/ser_avr.c @@ -161,13 +161,14 @@ *#* *#*/ -#include "ser.h" -#include "ser_p.h" +#include +#include #include /* Required for bus macros overrides */ #include /* CLOCK_FREQ */ #include +#include /* DIV_ROUND */ #include #include #include @@ -509,7 +510,7 @@ static void uart0_enabletxirq(struct SerialHardware *_hw) static void uart0_setbaudrate(UNUSED_ARG(struct SerialHardware *, _hw), unsigned long rate) { /* Compute baud-rate period */ - uint16_t period = (((CLOCK_FREQ / 16UL) + (rate / 2)) / rate) - 1; + uint16_t period = DIV_ROUND(CLOCK_FREQ / 16UL, rate) - 1; #if !CPU_AVR_ATMEGA103 UBRR0H = (period) >> 8; @@ -562,7 +563,7 @@ static void uart1_enabletxirq(struct SerialHardware *_hw) static void uart1_setbaudrate(UNUSED_ARG(struct SerialHardware *, _hw), unsigned long rate) { /* Compute baud-rate period */ - uint16_t period = (((CLOCK_FREQ / 16UL) + (rate / 2)) / rate) - 1; + uint16_t period = DIV_ROUND(CLOCK_FREQ / 16UL, rate) - 1; UBRR1H = (period) >> 8; UBRR1L = (period);