roboforum.ru

Технический форум по робототехнике.

НЕ могу запустить UART в ATtiny2313, хотя в AT90S2313 - все

Учиться можно на своих ошибках, но учиться на чужих — быстрее и дешевле ;)

НЕ могу запустить UART в ATtiny2313, хотя в AT90S2313 - все

Сообщение SSDTU » 08 июл 2006, 23:22

:( НЕ могу запустить UART в ATtiny2313, хотя в AT90S2313 - все

Поможите, кто может.
Конфигурирую УАРТ в AT90s2313
config UART
config UART
ldi tmp,25 ;установка скорости 9600 при 4МГц
out UBRR,tmp
clr tmp
ldi tmp,(1<<RXEN)+(1<<RXCIE) ;без TX
out UCR,tmp

А как сделать в ATtiny2313
Там ведь нету  UBRR,  а есть UBRRL и  UBRRH ?
SSDTU
 
Сообщения: 4
Зарегистрирован: 08 июл 2006, 23:10
Откуда: Chelybinsk

Сообщение avr123.nm.ru » 09 июл 2006, 00:41

Можно воспользоваться генератором начального кода CVAVR  - очень удобный инструмент для конфигурации аппаратуры МК.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение KiCom » 09 июл 2006, 06:35

ldi tmp,25 ;установка скорости 9600 при 4МГц

Для стабильно работы UART нужно использовать кварцы с определеной частотой, иначе скорость будет немного отличаться и будут ошибки. Вот на этих точно работает сам проверял: 11.059 Мгц 14.7456 Мгц, в ДШ есть полный список.
KiCom
 
Сообщения: 345
Зарегистрирован: 22 окт 2005, 11:15
Откуда: Красноярск

Сообщение Johnny Bravo » 09 июл 2006, 09:29

Не сказал бы что частота влияет на общую работоспособность: работало  (тини2313( и от внетренней РС цепочки и от 4М внешнего кварца (без учета набега фазы конечно).
Делал с помощью генератора кода в CVAVR.
Может поможет: UBRR=(UBRRL)|(UBRRH<<8 )
Johnny Bravo
 
Сообщения: 400
Зарегистрирован: 26 фев 2006, 15:21
Откуда: Омск

Сообщение avr123.nm.ru » 09 июл 2006, 12:46

генератор начального кода CVAVR показывает допустимость ошибки бадрейта. Превышающую стандарт показывает красным.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение SSDTU » 09 июл 2006, 16:07

avr123.nm.ru писал(а):генератор начального кода CVAVR показывает допустимость ошибки бадрейта. Превышающую стандарт показывает красным.


Спасибо, конечно, но нет у меня ни подходящего кварца ни генератора.
А вобще проверял на AT90S2313-работает отлично,
А на ATtiny2313 ну не хочет ни как.
Проверяю в Гипертерминале- все тоже самое,
работает как часы, стоит подключить сотик
и все - не работает. Может у ТИНЬКИ другой
выходной\входной уровень. Ну очень сильно
неохото ставить MAX232AEPE, ведь на 90S
все работало. :(
SSDTU
 
Сообщения: 4
Зарегистрирован: 08 июл 2006, 23:10
Откуда: Chelybinsk

Сообщение KiCom » 09 июл 2006, 16:57

Так ты как подключаешь? напрямую? Без max232 (или аналога микросхемы) у тебя недолжно работать, там же уровни разные, или ты через шнурок от телефона подключаешь?
KiCom
 
Сообщения: 345
Зарегистрирован: 22 окт 2005, 11:15
Откуда: Красноярск

Сообщение SSDTU » 09 июл 2006, 17:11

KiCom писал(а):Так ты как подключаешь? напрямую? Без max232 (или аналога микросхемы) у тебя недолжно работать, там же уровни разные, или ты через шнурок от телефона подключаешь?


Да по всякому раньше подключал.
С 90S раротало как часы,
А с ATtiny2313 работает только в
гипертерминале.
А в вобще без шнурка раньше
подключал и согласовал резисторами
1-3 кОм прям от UART  до сотика в RX и TX
соответственно и все работало.
SSDTU
 
Сообщения: 4
Зарегистрирован: 08 июл 2006, 23:10
Откуда: Chelybinsk

Сообщение SSDTU » 09 июл 2006, 17:37

А может действительно конфигурация не верна.
И вовсе не 9600 а другая скорость может получится,
если неправилно сконфигурировать USART

Я вот так сделал

;===========================
   ldi   tmp,(0<<U2X)
   out  UCSRA,tmp    
   clr   tmp
   ldi   tmp,(0<<UMSEL)+(0<<USBS)+(1<<UCSZ1)+(1<<UCSZ0)
   out  UCSRC,tmp
   ldi   tmp,(0<<UCSZ2)
   out  UCSRB,tmp
   clr   tmp

   out  UBRRH,tmp
;=========================
              ;установка скорости 9600 при 4МГц
   ldi tmp,25
   out UBRRL,tmp
   clr tmp
           
   ldi tmp,(1<<RXEN)+(1<<RXCIE)
   out UCSRB,tmp
SSDTU
 
Сообщения: 4
Зарегистрирован: 08 июл 2006, 23:10
Откуда: Chelybinsk

Сообщение mandigit » 13 июл 2006, 17:29

В тиньках2313 (некоторых) по-умолчанию стоит делитель тактовой частоты на 8.
Перепрограммируйте CLKPR  и будет вам счастье :)
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва


Вернуться в Осторожно — грабли ;)

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

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