X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Favr%2Fdrv%2Fkdebug_avr.c;h=53d91895560381dac1dcc48454d5f685b597370f;hb=202e173ecdce67ba47b646308ae713b5801c56da;hp=c730836d9509c92cee510e7adf662e9c1799d2c3;hpb=4cc44c9888a0336b9d01121ec0b7ad95f4a76195;p=bertos.git diff --git a/bertos/cpu/avr/drv/kdebug_avr.c b/bertos/cpu/avr/drv/kdebug_avr.c index c730836d..53d91895 100644 --- a/bertos/cpu/avr/drv/kdebug_avr.c +++ b/bertos/cpu/avr/drv/kdebug_avr.c @@ -63,7 +63,7 @@ */ #ifndef KDBG_UART0_BUS_INIT #define KDBG_UART0_BUS_INIT do { \ - UCSR0B = BV(TXEN0); \ + UCR = BV(TXEN0); \ } while (0) #endif #ifndef KDBG_UART0_BUS_RX @@ -77,9 +77,14 @@ #define UCR UCSR0B #define UDR UDR0 #define USR UCSR0A - #elif CPU_AVR_ATMEGA8 - #define UCR UCSRB - #define USR UCSRA + #elif CPU_AVR_ATMEGA8 || CPU_AVR_ATMEGA32 + #define UCR UCSRB + #define USR UCSRA + #define TXEN0 TXEN + #define UDRE0 UDRE + #define TXC0 TXC + #define TXCIE0 TXCIE + #define UDRIE0 UDRIE #else #error Unknown CPU #endif @@ -164,7 +169,7 @@ #define KDBG_WRITE_CHAR(c) _kdebug_bitbang_putchar((c)) #define KDBG_MASK_IRQ(old) do { IRQ_SAVE_DISABLE((old)); } while(0) #define KDBG_RESTORE_IRQ(old) do { IRQ_RESTORE((old)); } while(0) - typedef cpuflags_t kdbg_irqsave_t; + typedef cpu_flags_t kdbg_irqsave_t; #define KDBG_DELAY (((CLOCK_FREQ + CONFIG_KDEBUG_BAUDRATE / 2) / CONFIG_KDEBUG_BAUDRATE) + 7) / 14 @@ -244,9 +249,10 @@ INLINE void kdbg_hw_init(void) UBRR0H = (uint8_t)(period>>8); UBRR0L = (uint8_t)period; KDBG_UART0_BUS_INIT; - #elif CPU_AVR_ATMEGA8 + #elif CPU_AVR_ATMEGA8 || CPU_AVR_ATMEGA32 UBRRH = (uint8_t)(period>>8); UBRRL = (uint8_t)period; + KDBG_UART0_BUS_INIT; #elif CPU_AVR_ATMEGA103 UBRR = (uint8_t)period; KDBG_UART0_BUS_INIT;