roboforum.ru

Технический форум по робототехнике.
Текущее время: 21 май 2025, 15:34

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: AVR Studio и usart
СообщениеДобавлено: 02 июн 2010, 20:06 
Не в сети

Зарегистрирован: 02 июн 2010, 19:55
Сообщения: 9
Всем доброго времени суток. Дело в том, что я решил разобраться с уарт на АВР, накидал простой код, который по принятии на RxD 1 байта выбрасывает его на пару семисегментных индикаторов и отправляет обратно. Так вот, проблема в отладке - что только не тыкал в этой студии, в прерывание не выкидывает. Пробовал собрать схему в протеусе - прерывание происходит, но вместо осмысленных данных, которые я посылаю (через virtual terminal), возвращается какая-то ерунда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio и usart
СообщениеДобавлено: 02 июн 2010, 20:56 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
работа уарта несколько глючна в студии, но при установке флага преревания оно обычно происходило.. а вот читать выставленный руками байт данных - увы...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio и usart
СообщениеДобавлено: 02 июн 2010, 21:51 
Не в сети

Зарегистрирован: 02 июн 2010, 19:55
Сообщения: 9
Duhas писал(а):
работа уарта несколько глючна в студии, но при установке флага преревания оно обычно происходило.. а вот читать выставленный руками байт данных - увы...

Это печально. Тогда такой вопрос - пытаюсь моделировать в протеусе вот этот код. Должен просто отправлять символ на терминал:
Код:
.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m164Pdef.inc"
.def tmp   =R16
.equ B_HI   =0   ;UBRRn=Fosc/(16*BAUD)
.equ B_LO   =51   ;Fosc=8MHz, BAUD=9600bps, UBRRn=51
.cseg
.org    0x0000
   rjmp Init
Init:
   ldi   tmp,0b00000010   ;PD0=RxD, PD1=TxD
   out   DDRD,tmp
   ldi   tmp,0b00000001
   out   PORTD,tmp
            ;USART
   ldi   tmp,B_LO
   sts   UBRR0L,tmp
   ldi   tmp,B_HI
   sts   UBRR0H,tmp
   ldi   tmp,(1<<TXEN0)|(1<<RXEN0)
   sts   UCSR0B,tmp
   ldi   tmp,0x61
   sts   UDR0,tmp
Loop:
   rjmp Loop

Но вот что приходит:
Изображение
Вроде все правильно настроил, но почему не работает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio и usart
СообщениеДобавлено: 02 июн 2010, 22:50 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
наверно не все правильно настроил.

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio и usart
СообщениеДобавлено: 02 июн 2010, 23:33 
Не в сети

Зарегистрирован: 02 июн 2010, 19:55
Сообщения: 9
Вроде разобрался. Может кому понадобится: надо поиграться с параметром Baud Rate настроек терминала, эта величина, почему-то, никак не связана со скоростью, устанавливаемой в контроллере.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio и usart
СообщениеДобавлено: 03 июн 2010, 06:48 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Такие простые вопросы. Читаем многостраничный даташит (у атмелов они очень подробные), раздел усарт. Там прямо приведены примеры кода, на асме и на си. Когда мне нужно было обмен с ком портом по быстрому сделать - копипастил оттуда и все работало сразу же. Единственное, на что надо обратить внимание - какое число писать в регистр скорости.

ЗЫ. Точно не помню, но даже настраивать порты ввода вывода не надо - разрешение аппаратного усарта все сделает само (если склероз не врет).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio и usart
СообщениеДобавлено: 03 июн 2010, 08:55 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Не из той оперы вы пропели похоже. Вникните в предыдущий пост.

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR Studio и usart
СообщениеДобавлено: 16 дек 2011, 13:04 
Не в сети

Зарегистрирован: 14 дек 2011, 18:49
Сообщения: 6
Откуда: Уфа
прог. языки: C++
ФИО: Оскар
Cosworth писал(а):
Вроде разобрался. Может кому понадобится: надо поиграться с параметром Baud Rate настроек терминала, эта величина, почему-то, никак не связана со скоростью, устанавливаемой в контроллере.

А какие именно параметры вы поставили? У меня в протеусе такая же проблема, я что только не ставил, но на виртуальном терминале либо каракули, либо вообще ничего. Один раз даже смайлик пришёл :). Ещё я заметил что если в терминале скорость такая же или выше чем я задал в контроллере, то ничего не приходит, а если ниже, то каракули.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO