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

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

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

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

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

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


 
Опции темы
Непрочитано 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
Сообщений: 287
Сказал спасибо: 0
Сказали Спасибо 209 раз(а) в 121 сообщении(ях)
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
Сообщений: 287
Сказал спасибо: 0
Сказали Спасибо 209 раз(а) в 121 сообщении(ях)
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
Сообщений: 287
Сказал спасибо: 0
Сказали Спасибо 209 раз(а) в 121 сообщении(ях)
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 код Выкл.

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

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


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot