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

 
 
> ATMEGA_168 !, UDR0 не прочитать
anton234ff
сообщение Nov 23 2009, 12:23
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 8-08-09
Пользователь №: 51 791



помогите студенту!прога передает из терминала код в Мегу.от нее требуется принять код,декодировать и выдать в цапу.отлаживаю в AVRStudio.имитирую прерывание завершения приема и пытаюсь прочитать UDR0.код куда-то теряется.может какая тонкость есть при чтении именно из UDR?????
инициализация:

;ЗАДАЕМ ПАРАМЕТРЫ КАДРА
ldi r16,0b00000110
sts UCSR0C,r16

ldi r16,0B10011000
sts ucsr0b,r16


sei

;обработка прерывания по завершении приема


usart_rx:




;ЧТЕНИЕ ИЗ БУФЕРА В Р22


lds r22,udr0




и все тут катится...UDR просто очищается и ничего никуда не пишет 07.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Nov 23 2009, 13:30
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Все понимаю, кроме:
1. Для чего использовать этот прострел ноги числа в формате 0bxxxxxxxx ??? Это что - так удобно - пялиться в монитор, подсчитывая, сколько там единиц и нулей? Как только размер исходника у Вас превысит 200 строк - будете долго искать потерянную в константах единичку sad.gif
2. В обработчике прерывания делается много всякого - надо бы SREG сохранить (ну, и восстановить тоже по выходу)- у Вас этого нету.
3. Полагаться на АВРстудию - НЕНАДА. Много там гадостей в части симуляции периферии.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:01
Рейтинг@Mail.ru


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