Hallo Ulrich,
in dem Moment, wo du das Label Version_mode anspringst, ist der UART Interrupt schon aktiviert.
Da auch die globalen Ints schon aktiv sind, wird beim Empfang eines Zeichens die ISR Open_log_Uart angesprungen.
Dort wird der UDR ausgelesen. Damit ist das Zeichen nicht mehr im UDR, wenn du es in der Sub Version_mode lesen willst.
Ändere doch dort mal die Zeile
Buf(uart_cnt) = Udr
in
Buf(uart_cnt) = B_udr
ab. Denn in der Variable B_udr ist das Zeichen ja schon drin.
in dem Moment, wo du das Label Version_mode anspringst, ist der UART Interrupt schon aktiviert.
Da auch die globalen Ints schon aktiv sind, wird beim Empfang eines Zeichens die ISR Open_log_Uart angesprungen.
Dort wird der UDR ausgelesen. Damit ist das Zeichen nicht mehr im UDR, wenn du es in der Sub Version_mode lesen willst.
Ändere doch dort mal die Zeile
Buf(uart_cnt) = Udr
in
Buf(uart_cnt) = B_udr
ab. Denn in der Variable B_udr ist das Zeichen ja schon drin.