anchor.diff:    // Get and return received data from buffer
     result := UDR0;
   end;
  +
  +function uart_peek(out c: byte): boolean;
  +begin
  +  result := UCSR0A and (1 shl RXC0) > 0;
  +  c := UDR0;
  +end;
  +
   {$endif CPUAVRXMEGA3}
   
   procedure uart_transmit_hex(const data: byte);
  
positive.code:   USART3.CTRLB := TUSART.RXENbm or TUSART.TXENbm;
  end;
  
  // Blocking functions
  procedure uart_transmit(const data: byte);
  begin
  
negative.code: begin
    // RX
    PORTB.DIRCLR := PIN1bm;
    // TX
    PORTB.OUTSET := Pin0bm;
    PORTB.DIRSET := Pin0bm;
  