Занимаюсь моделированием устройства которое обменивается с ПК по определенному протоколу. Устройство на МК атмега128, но это совершенно не важно. Еще есть прикладная программа для ПК которая обменивается с "железным устройством". Чтоб задействовать эту программу в симуляции, создаю виртуальную пару COM портов, у которых приемники и передатчики попарно соединены. В Протеусе вывожу uart на COMPIM, назначаю COMPIM на один виртуальный COM, а другой виртуальный 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)
К программе вопросов нет. Потому что если заменить ее на терминалку, результат тот же. И вообще, эта программа отлажена на железе. Глюк происходит в виртуальной связке. Виртуальный порт тоже не виноват, поскольку замена на другой работает так же. По всем признакам глючит Proteus.
_________________ Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
К программе вопросов нет. Потому что если заменить ее на терминалку, результат тот же. И вообще, эта программа отлажена на железе. Глюк происходит в виртуальной связке. Виртуальный порт тоже не виноват, поскольку замена на другой работает так же. По всем признакам глючит Proteus.
Я имел ввиду, что разные системы по разному относятся к наличию обработчика ошибок. Например 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)
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения