; *************************************************************************** ; copyright : (C) 2025 by Martin Preuss ; email : martin@libchipcard.de ; ; *************************************************************************** ; * This file is part of the project "AqHome". * ; * Please see toplevel file COPYING of that project for license details. * ; *************************************************************************** ; *************************************************************************** ; defines .equ UART_ERROR_NOTFORME = 1 .equ UART_ERROR_INVALID = 2 .equ UART_ERROR_IO = 3 .equ UART_ERROR_CONTENT = 4 ; *************************************************************************** ; code .cseg UART_Init: ; set baudrate .if clock == 8000000 ldi r16, 25 ; (19.2Kb/s at 8MHz) ldi r17, 0 .endif .if clock == 1000000 ldi r16, 2 ; (19.2Kb/s at 1MHz) ldi r17, 0 .endif M_IO_WRITE UBRRH, r17 M_IO_WRITE UBRRL, r16 ; set character format .ifdef URSEL ldi r16, (1< 7 per loop, max about 1000 clc ; 1 ret ; 4 uartWaitForData_gotit: sec ; 1 ret ; 4 ; @end ; --------------------------------------------------------------------------- ; @routine UART_StartRx @global ; ; @clobbers R16 UART_StartRx: M_IO_READ r16, UCSRA ; clear errors cbr r16, (1<