Страница 1 из 2
UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 06:52:54
olegkomak
В ПРОТЕУС :
1. atMega8 + atMega8 - обмениваются нормально если у обоих скорость UART стоит по 9600
2. atMega8 + виртуальный терминал - работают только если mega8 = 9600 а терминал 1200
в реале :
3. atMega8 + PuTTy терминал в компе - работают только если mega=9600 , PuTTy = 1200
Почему так ? А как же равенство скоростей ?
PS не знаю важно или нет но всегда у меня atMega работает на 8 Mhz без внешнего кварца
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 07:32:57
pyzhman
По протеусу: вы ковыряли программу, видели как там на самом деле организован алгоритм? Уверен, что нет.
По реалу: осциллом тыкнитесь. Вот тогда можно будет говорить про реал.
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 07:34:44
olegkomak
т.е. без осцилографа никак ?
его нет у меня .
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 07:39:17
a_skr
либо мега работает не на 8 МГц (а на 1МГц), либо в UBRR пишется не 51.
в протеусе есть виртуальный осциллограф
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 07:40:33
olegkomak
А какая связь с частотой меги и скоростью выставляемой для обмена по UART ?
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 07:45:44
SII
А откуда синхронизация для UARTа берётся? У него своего личного генератора нет.
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 07:48:28
olegkomak
да я имею ввиду - как все это рассчитывать то ?
например мега у меня 8 Mhz , UART задаю 9600 - значит в реале УАРТ будет в 8 раз медленнее работать ? нет ? Где вот эту теорию найти почитать ?
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 07:54:35
a_skr
ну есть же таблица уже рассчитанных значений UBRR для основных значений тактовой частоты. у меня таблица 62 на стр 161 даташита для 8 МГц.
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 07:58:48
olegkomak
что за даташит ? на мегу8 ? - нету - только что смотрел .
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:02:46
a_skr
да что Вы говорите... на любую мегу и тайни с уартом есть эти таблицы. может, даташит урезанный? у меня всего 310 страниц. раздел USART -> Examples of Baud Rate Setting
ps. а как Вы рассчитывали значение для UBRR для 9600?
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:04:30
olegkomak
ага - таблицы нашел .
регистр UBRR выставляется во фьюзах ?
Уж простите за ламерские вопросы - но с такими нюансами впервые столкнулся
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:05:37
a_skr

значение в регистр UBRR записывается из программы
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:09:21
olegkomak
в Bascome никто не подскажет как определить регистр UBRR /
пока курю яндекс - не нахожу
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:15:31
a_skr
что значит "определить"? он также изначально определен, как и все другие регистры ввода-вывода (состоит из старшей UBRRH и младшей UBRRL частей)
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:19:24
olegkomak
опечатка вышла
не определить а записать данные в него .
Опять же - может есть ссылка на теорию по UART ?
Пока в голове путаница :
1. выставляем частоту МК
2. задаем скорость обмена по UART
3. реальная скорость обмена по UART будет зависить от частоты МК , выставленной скорости и того значения что записанно в регистре UBRR ?
yfabuf так сложно придумали то ?
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:22:04
pyzhman
olegkomak писал(а):yfabuf так сложно
чтобы под любую частоту тактирования ядра можно выставить любую скорость протокола. Как коробка передач на авто.
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:22:35
ibiza11
почитайте здесь теорию: (а еще в конце статьи есть комментарии с частыми вопросами - их тоже почитайте)
http://easyelectronics.ru/avr-uchebnyj- ... -uart.html
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:24:36
Engineer_Keen
pyzhman писал(а):чтобы под любую частоту тактирования ядра можно выставить любую скорость протокола. Как коробка передач на авто.
Ну не совсем любую, при некоторых комбинациях слишком большая ошибка в скорости получается (в таблице в процентах написана)
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:25:24
a_skr
olegkomak писал(а):2. задаем скорость обмена по UART
как Вы ее задаете? она задается
только значением регистра UBRR исходя из тактовой частоты (для Вашего простейшего случая).
Re: UART - работает только при разных скоростях девайсов.
Добавлено: Ср фев 06, 2013 08:30:07
olegkomak
начало кода в Bascom
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600