Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Создание DLL-моделей в Proteus. Описание VSM API.

Непрочитано 25.03.2019, 13:02  
MONIKYS
Прописка
 
Регистрация: 18.05.2011
Адрес: Ненька Україна
Сообщений: 157
Сказал спасибо: 20
Сказали Спасибо 58 раз(а) в 25 сообщении(ях)
MONIKYS на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

Перевёл код от Пётр_В с Бейсика на Си.
Неправильно измеряет импульс,функция PinColor.
В Temp от 0 до 127 ещё боле менее, потом резко 255.
Может кто проверить? Или у меня комп глючит или меня.
Прот 8.6. Визуал 2017.
Спасибо не проходящим мимо.
Вложения:
Тип файла: rar 3ColLed.rar (4.11 Мб, 0 просмотров)
Реклама:
MONIKYS вне форума  
Непрочитано 26.03.2019, 03:44  
ProtAS-13
Вид на жительство
 
Регистрация: 17.03.2015
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 229 раз(а) в 131 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

Сообщение от MONIKYS Посмотреть сообщение
Может кто проверить?
Честно говоря, так и не понял, чего хотите добиться - трудно разбирать чужой, хоть и несложный, код.
К примеру, как я понял, вы пытаетесь выделить фронты сигнала, сравнивая предыдущее (из структуры ...-›OldState) и текущее состояния контакта. Не проще воспользоваться функциями isedge/isnegedge/isposedge ?
Далее, переменная Temp с типом данных BYTE. Но в коде Вы делаете проверку "if (Temp › 255)". А байт может быть больше 255? Значит эта ветка не работает.
Далее, Вы вызываете функцию PinColor из разных мест: по изменениям состояний на контактах (simulate) и по заданному интервалу (callback). Как я понимаю, Вы пытаетесь использовать callback как сторожевой таймер. Мало того, что эти события, теоретически, могут произойти одновременно, что приведет, если не к потере функциональности, так к замедлению работы Вашей модели, так он еще не выполняет своей функции, т.к. он продолжает работать даже тогда, когда сигналы на контактах продолжают поступать. Я бы попробовал перезапускать callback в функции simulate. Тут, как-то не отложилось в памяти будет ли он перезапускаться при одинаковом ID, вот заодно и проверите, и нам раскажите.
Напоследок. Проект ругается на отсутствие библиотеки 3ColLed.dll.
И еще. Посмотрите на рисунок. Правильно ли Вы генерируете тестовую последовательность. Как я понимаю, во время этого провала у Вас и происходит сброс цвета по таймауту.
Есть еще некоторые непонятки, но это я могу долго фантазировать на тему "а что же хотел сказать автор".
Поэтому, Вам стоит более подробней описать задачу, лучше сразу на почту или в личку - много времени уделить не смогу, но может помогу натолкнуть на какие-то решения.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic1.jpg
Просмотров: 0
Размер:	120.2 Кб
ID:	140285  
ProtAS-13 вне форума  
Непрочитано 26.03.2019, 03:52  
MONIKYS
Прописка
 
Регистрация: 18.05.2011
Адрес: Ненька Україна
Сообщений: 157
Сказал спасибо: 20
Сказали Спасибо 58 раз(а) в 25 сообщении(ях)
MONIKYS на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

ProtAS-13, Я так понял вы не видели пример на Бейсике и проц с программкой на Баскоме. Вы не внимательны. Не я делал. Просто повторил код, только на Си. Меня тоже удивило вызов одной функции из разных мест. И это никак не мешает работе модели. Даже исключить вызов из callback сути не меняет. Оставляя только один вызов, только один вывод модели, нет плавного вычисления длительности импульса. У Петра работает. Плавное изменение цвета. У меня резкими скачками.
Просто посмотреть и ткнуть носом-А у вас всё не так, и я могу. С автором связаться нет возможности.
Ветка как называется? Или я ошибся?

Последний раз редактировалось MONIKYS; 26.03.2019 в 13:35.
MONIKYS вне форума  
Непрочитано 26.03.2019, 16:35  
MONIKYS
Прописка
 
Регистрация: 18.05.2011
Адрес: Ненька Україна
Сообщений: 157
Сказал спасибо: 20
Сказали Спасибо 58 раз(а) в 25 сообщении(ях)
MONIKYS на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

Изменил функцию PinColor, плавное изменение цвета.
Может кому интересно.
Вложения:
Тип файла: rar 3ColLed.rar (3.99 Мб, 0 просмотров)
MONIKYS вне форума  
Непрочитано 27.03.2019, 01:53  
ProtAS-13
Вид на жительство
 
Регистрация: 17.03.2015
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 229 раз(а) в 131 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

Сообщение от MONIKYS Посмотреть сообщение
ProtAS-13, Я так понял вы не видели пример на Бейсике и проц с программкой на Баскоме. Вы не внимательны.
Почему-же, видел. Но не зная Bascom это равносильно "... видишь фигу".
Сообщение от MONIKYS Посмотреть сообщение
Просто посмотреть и ткнуть носом-А у вас всё не так, и я могу. ... Ветка как называется? Или я ошибся?
Простите, а что Вы ожидали?
Что для ответа на Ваш вопрос люди начнут изучать малораспространенный язык?
Разбирать Ваш код "по косточкам", не понимая при этом поставленной задачи, тратя, вдобавок, свое время?
Естественно, я поверхностно глянул и описал что сразу бросилось в глаза.
Что ж, в следующий раз просто пройду мимо - мне же легче.
Только потом не удивляйтесь, что никто не отвечает на Ваши вопросы. Ага?
ProtAS-13 вне форума  
Непрочитано 27.03.2019, 03:29  
MONIKYS
Прописка
 
Регистрация: 18.05.2011
Адрес: Ненька Україна
Сообщений: 157
Сказал спасибо: 20
Сказали Спасибо 58 раз(а) в 25 сообщении(ях)
MONIKYS на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

ProtAS-13, Тогда смысл в этой ветке? Не понятно. Год мёртвая ветка.
Ничего сложного в Баскоме нет. Те же яйки, приготовленные по другому. Нет скобок и возможность челюстновывернутым писать родным шрифтом,а не латиницей. Кому-то нравится вместо скобок писать много буков.

Последний раз редактировалось MONIKYS; 28.03.2019 в 16:15.
MONIKYS вне форума  
Непрочитано 30.03.2019, 02:09  
MONIKYS
Прописка
 
Регистрация: 18.05.2011
Адрес: Ненька Україна
Сообщений: 157
Сказал спасибо: 20
Сказали Спасибо 58 раз(а) в 25 сообщении(ях)
MONIKYS на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

ProtAS-13, Доброго дня. В личку диалог не открывается. В чёрном списке? Ну,то такое.
Вами проделана большая работа. Снимаю шляпу. Лет шесть назад я сам инфу собирал по крупицам.
"Балуюсь" c окнами, есть идейка. Вывод графики в всплывающее окно. Результат -промах мимо окна. Не получается получить дискриптор окна.USERPOPUP.
Наткнулся на Вашу шпаргалку.
Вопрос по шпаргалке.
wHwnd в нуле, не выдаёт 1. Первый раз выдало картинку с надписями, потом нет. SPY++ не показывает наличие окна. Окно видно, а его нет.

Спасибо.

Последний раз редактировалось MONIKYS; 30.03.2019 в 17:53.
MONIKYS вне форума  
Непрочитано 31.03.2019, 03:15  
ProtAS-13
Вид на жительство
 
Регистрация: 17.03.2015
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 229 раз(а) в 131 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

Сообщение от MONIKYS Посмотреть сообщение
В личку диалог не открывается. В чёрном списке?
Это к админам. Никаких списков не веду ни "черных", ни "белых" - не имею такой привычки.
Сообщение от MONIKYS Посмотреть сообщение
wHwnd в нуле, не выдаёт 1
Значит где-то косяк в коде. Покажите как инициализируете popup-окно, и как получаете HWND.
Нужно помнить, что к заголовку Proteus добавляет ID компонента.
Сообщение от MONIKYS Посмотреть сообщение
SPY++ не показывает наличие окна. Окно видно, а его нет.
В SPY++ есть "прицел". Щелкните им на окне и все покажет.
ProtAS-13 вне форума  
Непрочитано 31.03.2019, 19:54  
MONIKYS
Прописка
 
Регистрация: 18.05.2011
Адрес: Ненька Україна
Сообщений: 157
Сказал спасибо: 20
Сказали Спасибо 58 раз(а) в 25 сообщении(ях)
MONIKYS на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

ProtAS-13, Получилось. С бубном.
Ещё. В настройках VC включить "Использовать многобайтовую кодировку".
Миниатюры:
Нажмите на изображение для увеличения
Название: Text1.jpg
Просмотров: 0
Размер:	99.6 Кб
ID:	140451   Нажмите на изображение для увеличения
Название: Text2.jpg
Просмотров: 0
Размер:	109.2 Кб
ID:	140452  

Последний раз редактировалось MONIKYS; 31.03.2019 в 19:59.
MONIKYS вне форума  
Непрочитано 15.04.2019, 01:10  
Пётр_В
Частый гость
 
Регистрация: 15.06.2011
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 15 раз(а) в 5 сообщении(ях)
Пётр_В на пути к лучшему
По умолчанию Re: Создание DLL-моделей в Proteus. Описание VSM API.

Сообщение от ProtAS-13 Посмотреть сообщение
Далее, переменная Temp с типом данных BYTE. Но в коде Вы делаете проверку "if (Temp › 255)". А байт может быть больше 255?
В оригинальном коде переменная Temp типа Float.
А значит это выражение также вычисляется с плавающей точкой и приведение к byte некорректно.
Код:
Temp = (BYTE)(255 / ((time - Pin-›OldTime[0]) / (time - Pin-›OldTime[1])));
Вероятно есть и другие отличия.

Сообщение от ProtAS-13 Посмотреть сообщение
Но не зная Bascom
Баском для микроконтроллеров. Модель для протеуса написана на PureBasic. Языки значительно отличаются.
Пётр_В вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Справочные ресурсы и ссылки родственной тематики xelos Делимся опытом 118 30.09.2025 19:48
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Книги dosikus Электронная библиотека 11242 29.12.2015 23:45
Книга по VHDL IZEVS Делимся опытом 2 10.05.2008 11:46


Часовой пояс GMT +4, время: 17:40.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.