реклама на сайте
подробности

 
 
> UART не запскается, Ошибка команды SBIS на Atmega 2561
Slavast
сообщение Nov 2 2010, 11:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 25-10-10
Пользователь №: 60 395



Доброе время суток.
Прописываю работу USART на Atmega2561 и не работает команда SBIS во вседавно известном цикле отправке байта.

; Процедура отправки байта
uart_snt: SBIS UCSRA,UDRE ; Пропуск если нет флага готовности
RJMP uart_snt ; ждем готовности - флага UDRE

OUT UDR, R16 ; шлем байт
RET ; Возврат



Выдает ошибку:
D:\Slava\Atmel\Projects\UART1\UART1.asm(67): error: Operand 1 out of range: 0xc0

Подскажите что делать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Slavast
сообщение Nov 5 2010, 09:02
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 25-10-10
Пользователь №: 60 395



UART заработал!!
Но теперь вместо одного символа контроллер Atmega 2561 выводит мне в терминал бесконечный цикл этих символов. Без главного цикла все равно выводит миллион повторений того, что я нажму.
Вопрос - нужно ли здесь прерывания и какой их тогда будет смысл?
Заранее, низкий поклон!!

Главная программа у меня вот:



;-------Посылка байта----------

uart_rcv: lds r19, UCSR0A
SBRS r19,UDRE0 ; Пропуск если нет флага готовности,
RJMP uart_rcv ; вращаясь в цикле
lds R16,UDR0 ; байт пришел - забираем.
RET ; Выходим. Результат в R16


;-------Процедура отправки байта-------


uart_snt: lds r17, UCSR0A
SBRS r17,UDRE0 ; Пропуск если нет флага готовности,
; если 1 - то готов отправлять данные
RJMP uart_snt ; ждем готовности - флага UDRE
sts UDR0, R16 ; шлем байт 01010101 в UDR
RET ; Возврат


;------ Главный цикл --------


Main:
RCALL uart_rcv ; Ждем байта
INC R16 ; Делаем с ним что-то
RCALL uart_snt ; Отправляем обратно.
out PORTB, r18
JMP Main

Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 5 2010, 09:41
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



На приём надо проверять бит RXC0, а вы проверяете UDRE0 и на приём, и на передачу.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Slavast   UART не запскается   Nov 2 2010, 11:08
- - rx3apf   Цитата(Slavast @ Nov 2 2010, 14:08) Выдае...   Nov 2 2010, 11:11
- - ILYAUL   Цитата(Slavast @ Nov 2 2010, 14:08) Добро...   Nov 2 2010, 11:15
- - Slavast   Аа! Век учись - на свои же грабли наступай...   Nov 2 2010, 11:18
|- - ILYAUL   Цитата(Slavast @ Nov 2 2010, 14:18) Аа...   Nov 2 2010, 11:27
|- - Slavast   Цитата(ILYAUL @ Nov 2 2010, 15:27) И учит...   Nov 2 2010, 11:30
|- - ILYAUL   Цитата(Slavast @ Nov 2 2010, 14:30) В смы...   Nov 2 2010, 12:08
- - Slavast   Подскажите: в UBRR0H и UBRR0H надозаписать Baudrat...   Nov 3 2010, 08:42
|- - rx3apf   Цитата(Slavast @ Nov 3 2010, 11:42) Подск...   Nov 3 2010, 09:01
|- - Палыч   Цитата(Slavast @ Nov 3 2010, 11:42) Что д...   Nov 3 2010, 09:46
- - Slavast   Т.е чтоб настроить UART на Baudrate = 115200 мне н...   Nov 3 2010, 09:43
|- - rx3apf   Цитата(Slavast @ Nov 3 2010, 12:43) Т.е. ...   Nov 3 2010, 09:48
- - Slavast   Я работаю на ATmega 2561 с 16 Мгц частотой и U2X=0...   Nov 3 2010, 10:01
|- - Палыч   Цитата(Slavast @ Nov 3 2010, 13:01) Я раб...   Nov 3 2010, 10:44
- - Сергей Борщ   Цитата(Slavast @ Nov 3 2010, 13:01) А что...   Nov 3 2010, 10:12
|- - demiurg_spb   Чукча не читатель, Чукча - писатель:-)   Nov 3 2010, 10:37
- - Slavast   Да, спасибо! Цитата(Палыч @ Nov 3 2010, ...   Nov 3 2010, 12:08
|- - Палыч   Цитата(Slavast @ Nov 3 2010, 15:08) Выбир...   Nov 3 2010, 13:40
|- - Slavast   Цитата(=GM= @ Nov 5 2010, 12:41) На приём...   Nov 5 2010, 09:51
|- - =GM=   На здоровье. Ну и r18 у вас в main не определён. ...   Nov 5 2010, 10:53
- - Slavast   А кто-нибудь знает, как в Ассемблере через UART вы...   Nov 5 2010, 11:54
- - ae_   Код ldi xl, low (2*message1) ldi xh, high...   Nov 5 2010, 13:46


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01404 секунд с 7
ELECTRONIX ©2004-2016