; *************************************************************************** ; 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. * ; *************************************************************************** #ifndef AVR_MODULES_UART_HW2_COMONUART1_H #define AVR_MODULES_UART_HW2_COMONUART1_H .dseg comOnUart1_iface: .byte UART_HW2_IFACE_SIZE .cseg ; --------------------------------------------------------------------------- ; @routine ComOnUart1_Init @global ; ; @clobbers R16, R17, Y (X) ComOnUart1_Init: ldi yl, LOW(comOnUart1_iface) ldi yh, HIGH(comOnUart1_iface) rcall NET_Interface_Init ; (R16, R17, X) ldi r16, 0xff std Y+UART_HW_IFACE_OFFS_WRITEBUFNUM, r16 ldi r16, UART_HW2_MODE_IDLE std Y+UART_HW2_IFACE_OFFS_MODE, r16 clr r16 std Y+NET_IFACE_OFFS_IFACENUM, r16 rcall comOnUart1SetAttnInput ; 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 sts UBRR1H, r17 sts UBRR1L, r16 ; set character format ldi r16, (1<