Proveus + виртуальный COM порт теряется связь.

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Пн сен 05, 2011 10:03:06
Откуда: Тула

Сообщение paskal »

Занимаюсь моделированием устройства которое обменивается с ПК по определенному протоколу. Устройство на МК атмега128, но это совершенно не важно. Еще есть прикладная программа для ПК которая обменивается с "железным устройством". Чтоб задействовать эту программу в симуляции, создаю виртуальную пару COM портов, у которых приемники и передатчики попарно соединены. В Протеусе вывожу uart на COMPIM, назначаю COMPIM на один виртуальный COM, а другой виртуальный COM открываю в программе. Теперь мой МК и программа виртуально соединены. Но работает это только на один раз запуска симуляции. Если остановить симуляцию и запустить снова, связи не будет. Если выйти из Протеуса и зайти снова - опять заработает на один раз.
Что можно сделать?
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1405
Зарегистрирован: Чт фев 19, 2015 12:41:04

Сообщение astrahard »

Обработчики ошибок есть? Четности например.
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Пн сен 05, 2011 10:03:06
Откуда: Тула

Сообщение paskal »

К программе вопросов нет. Потому что если заменить ее на терминалку, результат тот же. И вообще, эта программа отлажена на железе. Глюк происходит в виртуальной связке.
Виртуальный порт тоже не виноват, поскольку замена на другой работает так же. По всем признакам глючит Proteus.
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
Сверлит текстолит когтями
Сообщения: 1180
Зарегистрирован: Пт авг 21, 2009 03:22:12

Сообщение bolek »

paskal писал(а):По всем признакам глючит Proteus.
Вряд ли он глючит, скорее это срабатывает защита от бесплатного использования.
Можно попробовать на другой версии.
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1405
Зарегистрирован: Чт фев 19, 2015 12:41:04

Сообщение astrahard »

[uquote="paskal",url="/forum/viewtopic.php?p=3157554#p3157554"]К программе вопросов нет. Потому что если заменить ее на терминалку, результат тот же. И вообще, эта программа отлажена на железе. Глюк происходит в виртуальной связке.
Виртуальный порт тоже не виноват, поскольку замена на другой работает так же. По всем признакам глючит Proteus.[/uquote]
Я имел ввиду, что разные системы по разному относятся к наличию обработчика ошибок. Например ATmega при возникновении ошибки четности продолжает прием (генерирует биты прерывания и завершения приема байта) более старшие кристаллы (TMS320) при возникновении ошибки встают колом и следующий байт не принимают (не генерирует биты прерывания и завершения приема байта), пока биты ошибки не будут считаны программно. Когда Вы, прерываете симуляцию, то, возможно, взводиться состояние ошибки и, если эту ошибку не обработать (считать кодом обработчика) то дальнейший обмен по последовательному интерфейсу встанет. Так я рассуждал.

P.S. Также возможно, что виртуальный COM в Протеусе предусматривает место, где пользователь должен поместить свой код обработчика ошибок.
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 141
Зарегистрирован: Чт янв 29, 2015 15:59:12
Откуда: Украина.

Сообщение Doctor Old »

похоже, это халявный протеус имел тебя в виду :)))
Реклама
Ответить

Вернуться в «Интеграция с ПК»