diff --git a/main.c b/main.c index 02fc23e..7a0a2e6 100644 --- a/main.c +++ b/main.c @@ -1,7 +1,7 @@ /***************************************************************************** * * AVRPROG compatible boot-loader -* Version : 0.83 (Apr. 2008) +* Version : 0.85 (Dec. 2008) * Compiler : avr-gcc 4.1.2 / avr-libc 1.4.6 * size : depends on features and startup ( minmal features < 512 words) * by : Martin Thomas, Kaiserslautern, Germany @@ -149,6 +149,15 @@ #define GET_EXTENDED_FUSE_BITS 0x0002 +#ifdef UART_DOUBLESPEED +// #define UART_CALC_BAUDRATE(baudRate) (((F_CPU*10UL) / ((baudRate) *8UL) +5)/10 -1) +#define UART_CALC_BAUDRATE(baudRate) ((uint32_t)((F_CPU) + ((uint32_t)baudRate * 4UL)) / ((uint32_t)(baudRate) * 8UL) - 1) +#else +// #define UART_CALC_BAUDRATE(baudRate) (((F_CPU*10UL) / ((baudRate)*16UL) +5)/10 -1) +#define UART_CALC_BAUDRATE(baudRate) ((uint32_t)((F_CPU) + ((uint32_t)baudRate * 8UL)) / ((uint32_t)(baudRate) * 16UL) - 1) +#endif + + #include #include #include @@ -367,6 +376,9 @@ int main(void) if ((BLPIN & (1<