#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
.byte 1
srx_char_to:
.byte 1
+srx_char_time:
+ .byte 1
srx_dr:
.byte 1
srx_lastedge:
ori temp,(1<<ICIE1) ;Enable input capture int. (UART RX)
outm8 TIMSK1,temp ;
+ ldi temp,SSER_CHAR_TC ;Character TO
+ sts srx_char_time,temp
+
ret
;------------------------------------------------------------------
sts srx_dr,_0
ldi temp,1
sts srx_state,temp
- ldi temp,2
+ lds temp,srx_char_time
sts srx_char_to,temp
sbis P_RXD-2,RXD ;RXD still low?
rjmp srxi_end
srxi_complete1:
ldi temp2,1 ;We are in start bit now.
sts srx_state,temp2
- ldi temp2,2
+ lds temp2,srx_char_time
sts srx_char_to,temp2
rjmp srxi_complete