Страница 1 из 1

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

Добавлено: Ср июл 17, 2013 21:03:29
VAZZAR
Написал программы одну для ведущего мк другую для ведомого
В идеи должно получится следующие: Ведущий мк передает информацию, а ведомый мк зажигает светодиод если получит какую либо инфу. Код программ и схему в "пратэусе" прикрепил (правда в "пратэусе" использовал MAX487 ) , также проверил схему практически на ST485BN. Не в "пратэусе" не на плате схема не работает, подскажите где ошибка.
Спасибо.
файлы: http://us.ua/1176787/

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

Добавлено: Чт июл 18, 2013 23:39:06
zero648
Инициализация портов у обоих должна быть одинакова:
у ведомого почемуто включен передатчик

ldi RON2,0b00000010
out DDRD,RON2

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

ldi RON2,0b01000000
out DDRD,RON2

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

ldi RON2,0b01000010
out DDRD,RON2

Да, и таблицу векторов занимает код, чем это грозит не знаю.

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

Добавлено: Ср июл 31, 2013 17:17:51
VAZZAR
Zero648 спасибо за ответ,

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

ldi RON2,0b00000010
out DDRD,RON2

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

ldi RON2,0b01000000
out DDRD,RON2

ldi RON2,0b00000000
out PORTD,RON2

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