Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 18.12.2006, 18:28  
cscbyflex
Прохожий
 
Регистрация: 06.06.2005
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
cscbyflex на пути к лучшему
По умолчанию Помогите разобраться с приёмом символов через UART в ATmeg8

Парни, подскажите что делаю не так...
1.инициализация UART 9600/8/1:
UBRRH = 0;
UBRRL = 12;
UCSRA = (1‹‹U2X);
UCSRB = ((1 ‹‹ RXCIE) | (1 ‹‹ RXEN) | (1 ‹‹ TXEN));

2.разрешаю прервания:
sei();

3.передача символа
void USART_Transmit(char data){
while(!(UCSRA & (1‹‹UDRE)));
UDR = data;
}

4.прерывание по приёму символа и сразу же его передача:
INTERRUPT(USART_RXC_vect) {
unsigned char data;
data = UDR;
USART_Transmit(data);
}

И на этом всё,отправлять отпаляет, а вот с приёмом что то глухо. Всё это делаю и компилю в AVR Studio.
В ЧЁМ ОШИБКА!?
Реклама:
cscbyflex вне форума  
Непрочитано 18.12.2006, 18:45  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,381
Сказал спасибо: 1,962
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Помогите разобраться с приёмом символов через UART в ATm

Сообщение от cscbyflex
В ЧЁМ ОШИБКА!?
У вас кварц 1 МГц или работаете со встроенным RC? Во втором случае надо учитывать его нестабильность!

А так вроде все правильно.
nml вне форума  
Непрочитано 18.12.2006, 18:52  
cscbyflex
Прохожий
 
Регистрация: 06.06.2005
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
cscbyflex на пути к лучшему
По умолчанию

кварц внешний 7.370000
не работает передача с компа на мегу
cscbyflex вне форума  
Непрочитано 18.12.2006, 19:02  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,381
Сказал спасибо: 1,962
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от cscbyflex
кварц внешний 7.370000
не работает передача с компа на мегу
Если кварц 7.37, то для 9600 при U2X UBRR=95.
Смотрите в даташите.
nml вне форума  
Непрочитано 18.12.2006, 19:11  
cscbyflex
Прохожий
 
Регистрация: 06.06.2005
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
cscbyflex на пути к лучшему
По умолчанию

у меня вопрос к приёму символов в Мегу. С передачей и инициализацией всё нормально работает.
cscbyflex вне форума  
Непрочитано 18.12.2006, 19:22  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,381
Сказал спасибо: 1,962
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию

Сообщение от cscbyflex
у меня вопрос к приёму символов в Мегу. С передачей и инициализацией всё нормально работает.
Я на ваш вопрос и отвечаю. Скорость приемника и передатчика одинаковы. Следовательно, вы ошибаетесь, что все нормально с приемом на комп. С вашими данными (UBRR=12, U2X=1) скорость 9600 должна получаться при тактовой = 1 МГц.

Ну загляните же в даташит на страницу 156!

Еще рискну предположить - что кварц у вас "для виду", то есть припаян, а фузы не выставлены. МК работает на 1 МГц встроенном. Комп принимает - ну, может, у компа меньшая чувствительность к ошибке скорости, а может, у вас просто в приемной части ошибка в схеме.

Для COM порта допускается погрешность тактовой в 2.5%. Возможно, что при комнатной температуре и стабильном питании вы и добъетесь работоспособности. Но будет это весьма ненадежно.
nml вне форума  
Непрочитано 18.12.2006, 19:44  
cscbyflex
Прохожий
 
Регистрация: 06.06.2005
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
cscbyflex на пути к лучшему
По умолчанию

Да даташит почитал, такт точно стоит 1.000.000Гц, выставить фузе биты не знаю как. Но скорость менять научился, а что делать с приёмом на мегу, так и не разобрался ни в чём...
cscbyflex вне форума  
Непрочитано 18.12.2006, 21:07  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

попробуйте это - avr123.nm.ru/z5.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 19.12.2006, 08:13  
prottoss
Прописка
 
Регистрация: 17.03.2005
Сообщений: 122
Сказал спасибо: 1
Сказали Спасибо 33 раз(а) в 7 сообщении(ях)
prottoss на пути к лучшему
По умолчанию

Посмотри мой драйвер USART на http://pinokio3000.narod.ru/sourches/AVR_USART.htm
там мои подробные комментарии плюс константы для UBRR высчитываются препроцессором компилятора автоматом по заданной тактовой частоте и желаемой скорости передачи. Работа по прерываниям и с кольцевыми FIFO
__________________
http://prottoss.com
prottoss вне форума  
Непрочитано 19.12.2006, 09:15  
Prime
Прописка
 
Регистрация: 11.06.2005
Сообщений: 266
Сказал спасибо: 9
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
Prime на пути к лучшему
По умолчанию

Сообщение от cscbyflex
Да даташит почитал, такт точно стоит 1.000.000Гц, выставить фузе биты не знаю как. Но скорость менять научился, а что делать с приёмом на мегу, так и не разобрался ни в чём...
Уважаемый, а вы чем контроллер прошиваете???
Например я прошиваю PonyProg'ом, там есть команда Security and Configuration bits...Там все фьюзы и выставляю...
Prime вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVR и UART через прерывание - help :) code-by Микроконтроллеры, АЦП, память и т.д 13 05.12.2008 12:31
Как реализовать на ATmeg8 или ATtiny датчик случайных чисел Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 20 03.05.2008 21:06
Проблемы с приемом данных через UART Tiny 2313 SoapMaker Микроконтроллеры, АЦП, память и т.д 0 08.04.2008 10:35
Помогите разобраться с UART masterpc Микроконтроллеры, АЦП, память и т.д 10 13.02.2007 17:49
Помогите с UART !!! alll Микроконтроллеры, АЦП, память и т.д 0 15.11.2006 22:15


Часовой пояс GMT +4, время: 05:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot