Связь двух ATmega 16 через UART посредством RS 485

Обсуждаем контроллеры компании Atmel.
Ответить
VAZZAR
Родился
Сообщения: 7
Зарегистрирован: Ср июл 17, 2013 18:36:00

Связь двух ATmega 16 через UART посредством RS 485

Сообщение VAZZAR »

Написал программы одну для ведущего мк другую для ведомого
В идеи должно получится следующие: Ведущий мк передает информацию, а ведомый мк зажигает светодиод если получит какую либо инфу. Код программ и схему в "пратэусе" прикрепил (правда в "пратэусе" использовал MAX487 ) , также проверил схему практически на ST485BN. Не в "пратэусе" не на плате схема не работает, подскажите где ошибка.
Спасибо.
файлы: http://us.ua/1176787/
Реклама
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: Связь двух ATmega 16 через UART посредством RS 485

Сообщение zero648 »

Инициализация портов у обоих должна быть одинакова:
у ведомого почемуто включен передатчик

ldi RON2,0b00000010
out DDRD,RON2

, а у ведущего выключен и зачеи эта строка в главном цикле?

ldi RON2,0b01000000
out DDRD,RON2

Для обоих нужно сделать так и вынести из главного цикла

ldi RON2,0b01000010
out DDRD,RON2

Да, и таблицу векторов занимает код, чем это грозит не знаю.
Реклама
VAZZAR
Родился
Сообщения: 7
Зарегистрирован: Ср июл 17, 2013 18:36:00

Re: Связь двух ATmega 16 через UART посредством RS 485

Сообщение VAZZAR »

Zero648 спасибо за ответ,

эта строка неправильная

ldi RON2,0b00000010
out DDRD,RON2

проблема действительно у ведущего мк, поэтому настроил его правильно на прием следующими командами:

ldi RON2,0b01000000
out DDRD,RON2

ldi RON2,0b00000000
out PORTD,RON2

Впрочем лог. ноль и так будит на RE/DE и без настройки. Сейчас уже схема работает.
Ответить

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