реклама на сайте
подробности

 
 
> Пытаюсь смоделировать RS485 на Протеусе
xoz
сообщение Mar 22 2009, 12:45
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 22-12-08
Пользователь №: 42 655



Доброго времени суток. Я тут пытаюсь смоделировать небольшое устройство использующее 485 протокол, но как вы наверное поняли не тут то было wacko.gif
использую:
Proteus 7.2 и CVAVR 1.25.5
Модели ATmega128, ATmega8, MAX487

Проблема следующая:
При построении передачик-приемник все работает данные посылаются одним и принимаются другим МК. При попытке ответа на запрос(переключение приемник- передачик или наоборот) перестает работать даже в одностороннем порядке.
В приложении проект.
Может быть 485 драйвер надо переключать по особому? Пролазил форумы и документации пока ничег

Сообщение отредактировал xoz - Mar 22 2009, 12:59
Прикрепленные файлы
Прикрепленный файл  source.rar ( 98.87 килобайт ) Кол-во скачиваний: 56
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SysRq
сообщение Mar 22 2009, 16:10
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Из "test8__.c":
Код
#asm("cli") // не надо этого, вы и так в обрабочике прерывания, флаг I сброшен -- прерывания запрещены
TRANSF; // переключаемся на передачу
delay_ms(5); // одного такта хватит чтобы нога порта переключилась, не надо так много
putchar('r'); // ну и где определена эта функция? что она вообще делает? в исходнике под второй МК она есть, обратите внимание, раз код писал за вас IDE компилятора
while(!(UCSRA & (1<<UDRE))); // ошибка, ждать надо флаг TXC (а лучше бы вообще прерыванием пользоваться)
RECIVE; // и уже потом переключаться на прием
#asm("sei") // ошибка, разрешать прерывания не надо -- вложенные прерывания получаются

Во втором исходнике аналогичные косяки.
Схему не смотрел, Proteus'а нет.

PS: в макросах, в #define, точки с запятой не ставятся -- не принято.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 05:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01344 секунд с 7
ELECTRONIX ©2004-2016