roboforum.ru

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


УАРТ в atmega32

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

УАРТ в atmega32

Сообщение Radist » 28 окт 2011, 14:25

Читаю даташит, пробую в студии, но никак не выходит одна вещь. Регистры UCSRC и UBRRH имеют одно адресное пространство, про бит выбора регистра в курсе, но при симуляции не получается в эти регистры записать нужные мне числа (в регистр скорости ноль, в другой регистр 2E). Студия 4,12. Кто может дать понять в чем дело? Или пример инициализации на Си (асм тоже годится).
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: УАРТ в atmega32

Сообщение =DeaD= » 28 окт 2011, 23:23

mediawiki/images/a/af/OR-AVR-M32-N-PG.pdf
Тута у нас пример вроде был с уартом, на 8 странице
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: УАРТ в atmega32

Сообщение azt59 » 29 ноя 2011, 15:34

Присоединюсь к вопросу. Имею ATMega32 запитываю VCC и GND от USB шнурка соответсвенно где-то 5в. К ней подключен тестовый светодиод и кварц на 11,0592 все по даташиту) фьюзы прошил.
Проблема с подключением переходника USB-COM на PL2303.
Драйвера установлены если замыкаю между собой TX и RX данные возвращаются в терминал, инит уарта делаю верно, когда просто пишу данные в UDR то они приходят на комп, но когда отсылаю байт с компьютера то мега его не видит.

Это возможно если у меня разница в напряжениях МК питается от 5в а УАРТ насколько мне помнится 3?
Или всетаки нельзя прямо соединенять кабель на PL2303 к ногам МК?
azt59
 
Сообщения: 16
Зарегистрирован: 02 июл 2010, 11:04

Re: УАРТ в atmega32

Сообщение boez » 29 ноя 2011, 17:11

Отцепи rx меги от tx pl2303. Подключи его через несколько килоом на +5в. И проводком на короткое время замкни на землю. Если прерывание уарта в атмеге щелкнет (а от PL2303 не щелкает) - значит не хватает напряжения. Если не щелкнет - проблема в проге.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: УАРТ в atmega32

Сообщение azt59 » 29 ноя 2011, 21:20

Спаибо за подсказку, сделал так как ты сказал, прерывание так и не сработало, в итоге методом исключения было выявлено что проблема в виндовом Гипертерминале))) в настройках управления потоком стояло "Аппаратное" а надо было "Xon/Xoff" теперь все работает) ещё раз спасибо
azt59
 
Сообщения: 16
Зарегистрирован: 02 июл 2010, 11:04

Re: УАРТ в atmega32

Сообщение boez » 30 ноя 2011, 12:56

azt59 писал(а):Спаибо за подсказку, сделал так как ты сказал, прерывание так и не сработало, в итоге методом исключения было выявлено что проблема в виндовом Гипертерминале))) в настройках управления потоком стояло "Аппаратное" а надо было "Xon/Xoff" теперь все работает) ещё раз спасибо


Вообще везде где только можно сказано, что надо управление потоком вообще ставить "Нет", с xon-xoff ты не сможешь передавать на контроллер определенные значения байтов (хотя пока ты обмениваешься текстом, ты этого не заметишь), ну а с аппаратным - вообще работать без перемычек не будет, а куда их лепить если у тебя не rs232, а просто уарт - я без понятия, соответствующие ноги pl2303 надо соединять (RTS-CTS, DTR-DSR-DCD). В общем, всегда проще поставить "Нет" и не мучиться.

Хотя мне аж ни разу не понятно, как это у тебя в режиме "Аппаратное" возвращались данные при замкнутых tx-rx - это раз, и почему не сработало прерывание (хотя бы с ошибкой FE или Break) от подачи нуля на rx - это два :)
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++


Вернуться в Микроконтроллеры

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

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