Нету связи между МК по USART.

Обсуждаем контроллеры компании Atmel.
Ответить
Открыл глаза
Аватара пользователя
Сообщения: 47
Зарегистрирован: Вт авг 13, 2013 12:13:07

Сообщение mehanik_all »

Передающий ATmega16. Принимающий ATmega8. Скорость передачи одинаковая - 2400 бод. Соединив RxD и TxD на ATmega8 всё работает нормально (отправляет и принимает). Как только передаю с МК или СОМ-порта через терминал контроллер молчит, ничего не принимает. Не пойму, где кот зарыт! Помогите разобраться!
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Сообщение igor-x »

кот зарыт на кладбище домашних животных.
подбери подходящую терминалку, или настрой ту на которой дергаеш ATmega8
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Сообщение blackx »

Схему подключения всего и вся - фстудию!
Изображение only pure true norwegian blackx Изображение
Вымогатель припоя
Аватара пользователя
Сообщения: 573
Зарегистрирован: Вс ноя 04, 2012 20:20:13
Откуда: Рязань

Сообщение EDSedov »

mehanik_all писал(а): Как только передаю с МК или СОМ-порта через терминал контроллер молчит, ничего не принимает
Насколько мне известно, UART (который в мк) и RS-232 (который на СОМ-порте) почти одинаковые интерфейсы, различающиеся только уровнями напряжения лог.1 и лог.0, отсюда вопрос: у вас преобразователь уровней есть?
Выше нос! жизнь прекрасна! :))
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Аватара пользователя
Сообщения: 47
Зарегистрирован: Вт авг 13, 2013 12:13:07

Сообщение mehanik_all »

Схема простая, через полевики управление релюшками. Тактирование от внешнего кварца 8 МГц. Переходник UART<>COM на микросхеме ADM232AARN, рабочий. Проблема в том, что не принимает с других передатчиков, только со своего. ( Симулировал в протеусе, всё работает. Переношу на железо, МК молчит. Фьюзы выставлены на внешний кварц.
Вложения
01.rar
исходники
(2.63 КБ) 157 скачиваний
Последний раз редактировалось mehanik_all Пт ноя 29, 2013 23:49:51, всего редактировалось 2 раза.
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Сообщение blackx »

В обе стороны не идут данные? Каким терминалом пользуетесь на компе? Проверили схему преобразователя интерфейсов, все конденсаторы подключены как указано в даташите?

Если нет осцилла/лог. анализатора, берем светодиод с резистором 1К, и проверяем где данные проходят, а где нет. Будет заметно мерцание при передаче данных. Еще можно проверить напряжения, в режиме ожидания на входах 10...13 должно быть 5 В, а на 8-9 и 14-15 - -10 В.

Не забыли ли объеденить землю схемы и ком-порта (пин 5)? Работает ли ком порт компа вообще? Если что, проверяйте на другом устройстве.

Ну и последее, самое банальное - проверяем еще раз бодрейт, количество стоп-битов, наличие бита четности и его тип, количество бит данных в блоке, нужны ли вашей программе на ПК сигналы рукопожатия (то что handshaking).

Собственно, все это уже могли проверить сами.
Изображение only pure true norwegian blackx Изображение
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 573
Зарегистрирован: Вс ноя 04, 2012 20:20:13
Откуда: Рязань

Сообщение EDSedov »

СОМ-порт еще проверяют таким образом: берут и соединяют вывода TxD и RxD между собой, затем отправляют данные, в итоге, то что отправили, должно вернуться обратно на терминал, если все в порядке. Сам таким способом терминал на компе настраивал.
Выше нос! жизнь прекрасна! :))
Открыл глаза
Аватара пользователя
Сообщения: 47
Зарегистрирован: Вт авг 13, 2013 12:13:07

Сообщение mehanik_all »

COM порт рабочий, десять раз проверил. Задача моя установить связь не с ПК через COM, а с другим МК через UART и ИК-приёмник. Но ATmega8 не принимает даже напрямую от TxD ATmega16, только от своего передатчика принимает и работает. Исходники выше.
Вложения
03.rar
исходник для ATmega8. При соединении TxD и RxD полёт нормальный
(1.46 КБ) 164 скачивания
02.rar
Использую терминалы
(511.04 КБ) 152 скачивания
Последний раз редактировалось mehanik_all Пт ноя 29, 2013 23:51:33, всего редактировалось 1 раз.
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Сообщение blackx »

Ну, это сильно картину не меняет. Я бы советовал на комповом порту сначала добиться работы, затем уже прикручивать другой МК.
В общем, все проверяйте и пишите как успехи.
Изображение only pure true norwegian blackx Изображение
Открыл глаза
Аватара пользователя
Сообщения: 47
Зарегистрирован: Вт авг 13, 2013 12:13:07

Сообщение mehanik_all »

Код
  • putchar(getchar());
работает в терминале в обе стороны! Зашиваю проверочную прошивку 02 для проверки кода, соединяю TxD и RxD - работает. Зашиваю первую прошивку и... молчок! Вынос мозга. Где-то походу проблемы с кодом. Посмотрите, пожалуйста, где я мог ошибиться? Исходник 01, скинул вверху.
Открыл глаза
Аватара пользователя
Сообщения: 47
Зарегистрирован: Вт авг 13, 2013 12:13:07

Сообщение mehanik_all »

Пока остановился на том, что с
  • y=getchar();
не хочет код работать, поменял на
  • y=UDR;
, пока работает. Пишу в CVAVR. Теперь разбираюсь с ИК-передачей. Может кто посоветует схему управления ИК-диодом. У меня пока схема такая: таймером1 на ногу OC1A подаю меандр 36кГц и через транзистор на ИК-диод с управлением от TxD, но диод совсем еле горит.
Вложения
ИК-передатчик.JPG
схема
(12.7 КБ) 416 скачиваний
Вымогатель припоя
Сообщения: 547
Зарегистрирован: Вт фев 09, 2010 17:52:26

Сообщение codenamehawk »

На светодиод подают короткие импульсы большого тока с заполнением 1/3

Поставьте дополнительный элемент 2И и с него на такую схемку.
https://sites.google.com/site/mariankmh ... edirects=0
Часть схемы, обведенная красным, срисована с рабочего пульта.
Открыл глаза
Аватара пользователя
Сообщения: 47
Зарегистрирован: Вт авг 13, 2013 12:13:07

Сообщение mehanik_all »

Спасибо буду пробовать. Надеюсь я правильно понял! 2И из двух И-НЕ.
Вложения
ИК-передатчик.JPG
такая схемка получилась
(20.08 КБ) 427 скачиваний
Вымогатель припоя
Сообщения: 547
Зарегистрирован: Вт фев 09, 2010 17:52:26

Сообщение codenamehawk »

Должно работать.
mehanik_all писал(а):2И из двух И-НЕ.
Бывают просто 2И, без инверсии.
Вроде К155ЛИ1 такая.
Ответить

Вернуться в «AVR»