use usart interrupt for in & out