Вроде использую стандартную инициализацию, но на выходе Меги ничего нет ((
Может что-то не так делаю?(.
help!?
- Вложения
-
- UART.asm
- (1.54 КБ) 414 скачиваний
Код: Выделить всё
USART_Init:
; инициализации аппаратного UART, Baud rate 9600 F_CPU 16МГц
ldi r17, 0
ldi r16, 103
; Set baud rate
out UBRRH, r17
out UBRRL, r16
; Enable receiver and transmitter
ldi r16, (1<<RXEN)|(1<<TXEN)
out UCSRB, r16
; Set frame format: 8data, 1stop bit
ldi r16, (1<<URSEL)|(3<<UCSZ0)
out UCSRC, r16
ret
;--------------------------------------------------------------
USART_Transmit:
; Wait for empty transmit buffer
sbis UCSRA, UDRE
rjmp USART_Transmit
; Put data (r16) into buffer, sends the data
out UDR, r16
ret
;--------------------------------------------------------------
USART_Receive:
; Wait for data to be received
sbis UCSRA, RXC
rjmp USART_Receive
; Get and return received data from buffer
in r16, UDR
ret
;-------------------------------------------------------------
USART_Flush:
sbis UCSRA, RXC
ret
in r16, UDR
rjmp USART_Flush