Hallo Jon,
wenn du den SW-Uart wie den HW-Uart butzen willst, dann musst du RxD an einen Interrupt-Pin drangängen. Bei einer fallenden Flanke muss dann ein Interrupt ausgelöst werden, der das Byte empfängt und in eine Variable speichert. Eine zweite Variable kann dann als UCSRA1 dienen. Alternativ ginge es auch an jedem Pin, wenn du einen Timer einstellt, der ständig den RxD-Pin abtastet(normaleweise mit 3-facher Baud). Das ginge dann aber auf Kosten der CPU-Leistung sowie des Timers.

MfG Mark