ATMega16 - инициализация UART

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Slavast
Открыл глаза
Сообщения: 66
Зарегистрирован: Чт окт 21, 2010 10:05:27
Контактная информация:

ATMega16 - инициализация UART

Сообщение Slavast »

Help!!! Не получается настроить UART на Atmega16 для выдачи на COM порт значений.
Вроде использую стандартную инициализацию, но на выходе Меги ничего нет ((
Может что-то не так делаю?(.
help!?
Вложения
UART.asm
(1.54 КБ) 414 скачиваний
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6317
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: ATMega16 - инициализация UART

Сообщение Jack_A »

В начале программы д.быть векторы прерываний. Если они не используются, все равно должны быть забиты RETI. Дальше не стал смотреть.
Даташиты нужно читать с начала, а не только главу, относящуюся к проверяемой функции.
Правильно написать программу и для начала прогнать в симуляторе Студии. Минимум 50% вопросов отсеются.
Реклама
Аватара пользователя
Rimsky
Грызет канифоль
Сообщения: 299
Зарегистрирован: Вт июн 15, 2010 07:16:42
Откуда: Иркутск
Контактная информация:

Re: ATMega16 - инициализация UART

Сообщение Rimsky »

Код: Выделить всё

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
Аватара пользователя
s_black
Мучитель микросхем
Сообщения: 411
Зарегистрирован: Вс авг 10, 2008 19:35:49
Откуда: Евпатория
Контактная информация:

Re: ATMega16 - инициализация UART

Сообщение s_black »

В даташите есть уже ГОТОВЫЙ код - и на асме и на Си. Внимательней читайте.
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»