ProfiLab expert

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

ART_ME писал(а):В результате в случае работы с "черным ящиком"
Что подразумевается под "черным ящиком"?
ART_ME писал(а):я должен многократно переделывать исходник, компилировать его и запускать результат
Зачем переделывать исходник? Или имеется в виду внесение изменений в него (например добавление строки кода)? В IDE все автоматизированно и сохранение изменений исходника, компиляция и запуск в режиме отладки производится одним кликом мышки. :)

Изображение
Вложения
Muysh_i_kot.jpg
(12.07 КБ) 691 скачивание
Реклама
Аватара пользователя
ART_ME
Друг Кота
Сообщения: 3011
Зарегистрирован: Вс окт 02, 2016 07:34:45

Re: ProfiLab expert

Сообщение ART_ME »

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

Добавлено after 1 minute 53 seconds:
Мурик писал(а):
ART_ME писал(а):В результате в случае работы с "черным ящиком"
Что подразумевается под "черным ящиком"?
Любое неисправное или налаживаемое электронное устройство, включая собственные разработки. То есть устройство, реакция которого предсказуема не на 100%.

Добавлено after 3 minutes 6 seconds:
Мурик писал(а): В IDE все автоматизированно и сохранение изменений исходника, компиляция и запуск в режиме отладки производится одним кликом мышки. :)
А Вы не путаете отладчик с эмулятором?
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

Нет не путаю. :)
Производится именно отладка, т. е. компиляция exe программы с отладочной информацией, которая запускается и с ней устанавливает связь отладчик. Т. е. работает не эмулятор, а созданное нами приложение. :)
Аватара пользователя
ART_ME
Друг Кота
Сообщения: 3011
Зарегистрирован: Вс окт 02, 2016 07:34:45

Re: ProfiLab expert

Сообщение ART_ME »

Мурик писал(а):Нет не путаю. :)
Производится именно отладка, т. е. компиляция exe программы с отладочной информацией, которая запускается и с ней устанавливает связь отладчик. Т. е. работает не эмулятор, а созданное нами приложение. :)
И это приложение управляет пинами на портах компа?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

Зависит от кода. Приложение может делать все что угодно, в т. ч. управлять пинами порта.
Реклама
Аватара пользователя
ART_ME
Друг Кота
Сообщения: 3011
Зарегистрирован: Вс окт 02, 2016 07:34:45

Re: ProfiLab expert

Сообщение ART_ME »

Мурик писал(а):Зависит от кода. Приложение может делать все что угодно, в т. ч. управлять пинами порта.
Пинами порта LPT и COM компа? Это точно?
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

Как будто все программы работающие с портами разрабатывают только в ProfiLab expert, а на языках программирования их никто не пишет...
Аватара пользователя
ART_ME
Друг Кота
Сообщения: 3011
Зарегистрирован: Вс окт 02, 2016 07:34:45

Re: ProfiLab expert

Сообщение ART_ME »

Мурик писал(а):Как будто все программы работающие с портами разрабатывают только в ProfiLab expert, а на языках программирования их никто не пишет...
Мне действительно неизвестны программы, которые позволяют управлять пинами портов на компе. Отправить байт или слово через COM - это запросто, а вот чтоб побитно... хотя в данном случае я меньше всего претендую на эрудицию. Васик для STM32 могет такое творить?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

ART_ME писал(а):Мне действительно неизвестны программы, которые позволяют управлять пинами портов на компе.
Раньше выкладывал на форуме несколько таких программ.
COM порт http://www.radiokot.ru/forum/viewtopic. ... 4#p2738474
LPT порт http://www.radiokot.ru/forum/viewtopic. ... 4#p1345834
ART_ME писал(а):Васик для STM32 могет такое творить?
Программирование компа и микроконтроллера это две большие разницы и в большинстве случаев возможности определяются параметрами МК, а не языка программирования.
Аватара пользователя
ART_ME
Друг Кота
Сообщения: 3011
Зарегистрирован: Вс окт 02, 2016 07:34:45

Re: ProfiLab expert

Сообщение ART_ME »

Мурик писал(а):
ART_ME писал(а):Мне действительно неизвестны программы, которые позволяют управлять пинами портов на компе.
Раньше выкладывал на форуме несколько таких программ.
COM порт http://www.radiokot.ru/forum/viewtopic. ... 4#p2738474
Увы, не работает. Профилаб работает.
Мурик писал(а):
ART_ME писал(а):Васик для STM32 могет такое творить?
Программирование компа и микроконтроллера это две большие разницы и в большинстве случаев возможности определяются параметрами МК, а не языка программирования.
Параметры МК SТM32 позволяют мне в его васике управлять битами COM порта компа?

Вопрос не праздный.
Раз я их купил, то прежде чем они приедут, имеет смысл поковыряться с софтом для них. А "конями в вакууме" я в принципе не могу заниматься.
Поэтому появляется неплохая возможность сравнить возможности профилаба и васика на практике. То есть решить задачу обоими способами и определиться, что лучше не теоретически, а реально.

Добавлено after 22 minutes 40 seconds:
Хотя....
Я посмотрел Ваш исходник. В нем 150 строк. То есть мне надо накатать 150 строк только для того, чтобы иметь возможность включать три пина на COM.
А вот что мне для этого же результата достаточно сделать в профилабе. Всего-то!!!
Изображение
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

ART_ME писал(а):Увы, не работает. Профилаб работает.
Очень информативно. У других работает...
ART_ME писал(а):Параметры МК SТM32 позволяют мне в его васике управлять битами COM порта компа?
В МК нет COM порта. В нем USART или UART. Ищите в поисковике STM32 USART
ART_ME писал(а):То есть мне надо накатать 150 строк только для того, чтобы иметь возможность включать три пина на COM.А вот что мне для этого же результата достаточно сделать в профилабе. Всего-то!!!
В вашем варианте нет выбора COM порта, нет чтения входов порта и изменения цвета полей ввода и еще много чего нет. Если сравнивать, то должно быть все аналогично.
Аватара пользователя
ART_ME
Друг Кота
Сообщения: 3011
Зарегистрирован: Вс окт 02, 2016 07:34:45

Re: ProfiLab expert

Сообщение ART_ME »

Мурик писал(а):
ART_ME писал(а):Увы, не работает. Профилаб работает.
Очень информативно. У других работает...
Ставлю галку - на пине как было -9В, так и остались. Какую еще инфу из этого можно выжать?
Не поленился, проверил под виртуалкой XP 32. Результат тот же.
Порт аппаратный, разъем на материнке.
Мурик писал(а):
ART_ME писал(а):Параметры МК SТM32 позволяют мне в его васике управлять битами COM порта компа?
В МК нет COM порта. В нем USART или UART. Ищите в поисковике STM32 USART
ОК, в отладчике васика для STM32 есть доступ к пинам СОМ порта компа?
Мурик писал(а):
ART_ME писал(а):То есть мне надо накатать 150 строк только для того, чтобы иметь возможность включать три пина на COM.А вот что мне для этого же результата достаточно сделать в профилабе. Всего-то!!!
В вашем варианте нет выбора COM порта, нет чтения входов порта и изменения цвета полей ввода и еще много чего нет. Если сравнивать, то должно быть все аналогично.
Вот аналогично 150 строкам? :shock:
Изображение
andr_lar
Нашел транзистор. Понюхал.
Сообщения: 166
Зарегистрирован: Вт янв 22, 2013 16:31:22

Re: ProfiLab expert

Сообщение andr_lar »

Мурик писал(а):В вашем варианте нет выбора COM порта, нет чтения входов порта и изменения цвета полей ввода и еще много чего нет. Если сравнивать, то должно быть все аналогично.
Здесь не соглашусь....Вот там на картиночке где выключатели справа вверху ключ с молоточком...Это настройки....Можно выбрать при составлении программы опции "изменить во время работы"...
Ну и менять...В программе можно установить до 99 СОМ-ов...Там-же где обозначем СОМ-порт справа сереньких четыре треугольника - это входа...Читаются...Чуть выше публиковал схему связи через СОМ-порт с НЕF4094 и 74HC165 .8 входов-8 выходов...165 читается именно через один из пинов...
Да и в самой программе можно наставить сколько угодно СОМ-модулей и по каким-либо признакам перенаправлять ввод-вывод...Или при загрузке выбирать из нескольких конфигураций....
Безусловно это не умаляет достоинства других сред разработки...В каждой из них есть свои преимущества....Кстати их можно и соединять...В Профилабе есть модуль ДЛЛ.Он связывает Профилаб с ДЛЛ написанной в другой программе...В конфиренции обсуждался вопрос ДЛЛ с Дельфи и Пуре Бейсиком...Сам не пробовал но...

P.S. А что за изменения цвета полей ввода ?
С уважением...
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

ART_ME писал(а):ОК, в отладчике васика для STM32 есть доступ к пинам СОМ порта компа?
Отладчик аппаратный и подключаться к USB. Отладка производится непосредственно в микроконтроллере, а не симулируется на компьютере. А у микроконтроллера нет доступа к COM порту компьютера.
Выглядит отладчик примерно так.
СпойлерИзображение
andr_lar писал(а):А что за изменения цвета полей ввода ?
Участок кода

Код: Выделить всё

    If Com(1)<>DSR
      Com(1)=DSR
      SetGadgetColor(5,#PB_Gadget_BackColor,RGB(238, 0, 0) )
    Else
      SetGadgetColor(5,#PB_Gadget_BackColor,RGB(225, 225, 225) )
    EndIf
    
    If Com(2)<>CTS
      Com(2)=CTS
      SetGadgetColor(6,#PB_Gadget_BackColor,RGB(238, 0, 0) )
    Else
      SetGadgetColor(6,#PB_Gadget_BackColor,RGB(225, 225, 225) )
    EndIf
    
    If Com(3)<>DCD
      Com(3)=DCD
      SetGadgetColor(10,#PB_Gadget_BackColor,RGB(238, 0, 0) )
    Else
      SetGadgetColor(10,#PB_Gadget_BackColor,RGB(225, 225, 225) )
    EndIf
    
    If Com(4)<>RI
      Com(4)=RI
      SetGadgetColor(15,#PB_Gadget_BackColor,RGB(238, 0, 0) )
    Else
      SetGadgetColor(15,#PB_Gadget_BackColor,RGB(225, 225, 225) )
    EndIf
Смысл в том чтобы на короткое время изменить цвет чтобы было видно что состояние входа изменилось.
Вложения
st-link.png
(199.41 КБ) 2205 скачиваний
Аватара пользователя
ART_ME
Друг Кота
Сообщения: 3011
Зарегистрирован: Вс окт 02, 2016 07:34:45

Re: ProfiLab expert

Сообщение ART_ME »

Мурик писал(а):
ART_ME писал(а):ОК, в отладчике васика для STM32 есть доступ к пинам СОМ порта компа?
Отладчик аппаратный и подключаться к USB. Отладка производится непосредственно в микроконтроллере, а не симулируется на компьютере. А у микроконтроллера нет доступа к COM порту компьютера.
Тады ой.

И еще момент.
Тот бэйсик, на котором Вы выложили исходник, бэйсиком не является.
Потому как он, судя по выложенному Вами исходнику, точно так же, как и любой другой язык высокого уровня, требует описания переменных.
И если в пакете для STM32 такой же якобы бэйсик, то он не нужен.

Что касается темы топика, то приведенное сравнение вариантов исполнения простейшего управления портом вскрывает любопытный фактор.
Не мне Вам рассказывать, что сократить количество строк Вашей программы очень просто - макросами. Но таких макросов нет в природе, их никто не публикует. А язык профилаба - это по сути язык макросов, оттого все так легко и просто.
В результате мы пытаемся сравнить несравнимое - язык с набором макросов.
Иными словами, я бы предпочел профилабу бэйсик с набором макросов, но о существования такого бэйсика мне ничего неизвестно.
Кстати, а что Вы скажете касательно VB? Для него вроде как библиотеки обширнейшие, есть там набор макросов а-ля профилаб?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

ART_ME писал(а):точно так же, как и любой другой язык высокого уровня, требует описания переменных.
Что в этом плохого?
ART_ME писал(а):сократить количество строк Вашей программы очень просто - макросами
Не обязательно. При необходимости код можно значительно ужать исключив из него не очень нужные вещи.
ART_ME писал(а):А язык профилаба - это по сути язык макросов, оттого все так легко и просто.
Сколько программ разработано в ProfiLab по сравнению с количеством написанных на языках программирования? :)
ART_ME писал(а):Кстати, а что Вы скажете касательно VB?
VB давно не поддерживается, а VB.NET это совсем другой язык.
Аватара пользователя
ART_ME
Друг Кота
Сообщения: 3011
Зарегистрирован: Вс окт 02, 2016 07:34:45

Re: ProfiLab expert

Сообщение ART_ME »

Упрощу цитирование.

точно так же, как и любой другой язык высокого уровня, требует описания переменных.[/quote]Что в этом плохого?
Ничего плохого в этом нет, если есть ТЗ. А вот если его нет?

сократить количество строк Вашей программы очень просто - макросами[/quote]Не обязательно. При необходимости код можно значительно ужать исключив из него не очень нужные вещи.
Можно. Но кто-то это должен сделать и опубликовать в свободный доступ.

А язык профилаба - это по сути язык макросов, оттого все так легко и просто.[/quote]Сколько программ разработано в ProfiLab по сравнению с количеством написанных на языках программирования? :)
В профилабе пишут проекты, а не программы. Потому как все программы, они же макросы, в профилабе уже все написаны. Вопрос только в их количестве и качестве.

Кстати, а что Вы скажете касательно VB?[/quote]VB давно не поддерживается, а VB.NET это совсем другой язык.[/quote]
А поддерживаемый Visual Studio это VB или VB.NET?
Я могу легко и просто управлять битами на Tx COM-порту моего компа с помощью Visual Studio? А VB? A VB.NET?
ЗЫ. Легко и просто - это НЕ 150 строк. Это одна-две, ну в худшем случае три строки.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

ART_ME писал(а):Ничего плохого в этом нет, если есть ТЗ. А вот если его нет?
Не совсем понял связь между ТЗ (техническим заданием?) и описанием переменных. Как одно с другим связанно?
Хорошо, спрошу по другому. Допустим я знаю что мне нужна переменная в которой будет хранится целое число в пределах 0...255, зачем мне для этого переменная хранящая реальные (дробные) числа в гораздо большем диапазоне? Для того чтобы программа работала медленнее и больше требовала памяти? :shock: :)))
ART_ME писал(а):А поддерживаемый Visual Studio это VB или VB.NET?
VB.NET.
ART_ME писал(а):Легко и просто - это НЕ 150 строк. Это одна-две, ну в худшем случае три строки.
Код открывающий порт COM1 и устанавливающий логическую единицу на выходе DTR.

Код: Выделить всё

OpenSerialPort(0, "COM1", 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
SetSerialPortStatus(0, #PB_SerialPort_DTR, 1)
Delay(4000)
Функция Delay нужна для того чтобы программа сразу не закрылась.
andr_lar
Нашел транзистор. Понюхал.
Сообщения: 166
Зарегистрирован: Вт янв 22, 2013 16:31:22

Re: ProfiLab expert

Сообщение andr_lar »

Мурик писал(а):Смысл в том чтобы на короткое время изменить цвет чтобы было видно что состояние входа изменилось.
Удобно и наглядно...В микроконтроллере на Си можно поставить delay,хотя я так не делал - оно время контроллера отнимает...Лучше по прерыванию.
В цифровой электронике сиё называлось "одновибратор"....
В Профилаб тоже нет проблем - там одновибратор встроеный модуль....
Функция хороша своей наглядностью...Что часто немаловажно...
С уважением...
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: ProfiLab expert

Сообщение Мурик »

Сделано по таймеру и время изменения цвета соответствует одному тику таймера. Задержки нежелательны в том же потоке в котором выполняется обработчик событий окон.
Последний раз редактировалось Мурик Пт ноя 11, 2016 16:22:07, всего редактировалось 2 раза.
Ответить

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