Здравствуйте. Написал программу для передачи символа через UART на Ассемблере. Прошил МК, а символ получить не могу. Подскажите, пожалуйста, что не так? Программа следующая (Atmega164P, кварц 7,3728МГц):
include <m164def.inc> #include <iomacros.inc>
.def dummy=R19 .cseg
ldi R24, low(RAMEND) ; SP = RAMEND ldi R25, high(RAMEND) out SPL, R24 out SPH, R25
; ---------------------------------- init UART ------------------------------------------
ldi R24, 23 ; Baud rate = 19.2 bps sts UBRR0L, R24
ldi R24,0 sts UBRR0H, R24
ldi R24,(1<<RXEN0)|(1<<TXEN0) ; Enable receiver & transmitter, 8-bit mode sts UCSR0B,R24
rcall uartSend ; send the read character via the UART
uartSend: SKBS UCSR0A,UDRE0,dummy ; wait for empty transmit buffer (until UDRE==1) rjmp uartSend ldi R16, 48 STORE UDR0,R16 ; UDR = R16, start transmission
Delay: ldi R16,10 rjmp Delay
|