X-Git-Url: http://cloudbase.mooo.com/gitweb/avrcpm.git/blobdiff_plain/fa9059afcba0c5b044ab9bbc337f2f17df7e72c3..fc67ef420913bf8404ad90582d39538d79875425:/avr/sw-uart.asm?ds=inline diff --git a/avr/sw-uart.asm b/avr/sw-uart.asm index 8c2b33f..3216293 100644 --- a/avr/sw-uart.asm +++ b/avr/sw-uart.asm @@ -21,7 +21,12 @@ ; $Id$ ; +#ifdef __ATmega8__ + #error "ATmega8 is not supported (yet)! Please update this driver, or buy an ATmega88." +#endif + #define SSER_BIT_TC (F_CPU+BAUD/2) / BAUD +#define SSER_CHAR_TC (10 * 1000 / BAUD) + 2 #define RXBUFMASK RXBUFSIZE-1 #define TXBUFMASK TXBUFSIZE-1 @@ -32,10 +37,12 @@ srx_state: .byte 1 srx_char_to: .byte 1 +srx_char_time: + .byte 1 srx_dr: .byte 1 -;srx_lastedge: -; .byte 2 +srx_lastedge: + .byte 2 stx_bitcount: .byte 1 stx_dr: @@ -70,14 +77,23 @@ uart_init: ; - Soft UART RX (ICP1/ICR1). ; - 1ms System timer is already configured at this point. + + cbi P_TXD-1,TXD ;TXD pin as input ldi temp,(1< framing error --> break sts srx_state,_0 - sbr intstat,(1< break brne srxto_store sbr intstat,(1<