Ви вирішили створити свою програму для керування роботом з компютера, але Visual Basic у вас виявився, я не перевіряв останні версії, сильно урізаним у можливостях

Що я можу порадити Використовуйте операційну систему Linux, де є аналог VB, який називається Gambas Сьогодні це вже 3 версія

Колись я використав цю програму для роботи з COM-портом Тоді це була перша версія програми Запустивши третю версію, я сам зіткнувся з деякими проблемами, про які хочу попередити вас Отже, запускаємо програму:

Рис 461 Запуск програми Gambas

Як виявляється з малюнка, це не перша проба мого пера Вибираємо новий проект, використовуючи помічника по створенню нового проекту

Рис 462 Створення нового проекту

Зверніть увагу на зазначені мною опції: якщо не встановити галочку поруч з розділом

«Мережеве управління», то в менеджері компонентів не виявиться порту послідовного обміну даними, тобто, шуканого COM-порту Наступні діалогові вікна досить ясні

– Вказати папку, де буде зберігатися проект, вказати назву проекту і заголовок Після завдання всіх необхідних атрибутів проекту ви опиняєтеся в робочому вікні програми Gambas Як і в VB, є готова форма Ftest, подвійним клацанням по якій ви викликаєте її поява в робочому вікні

Рис 463 Форма проекту

У правому нижньому вікні під вікном властивостей обєктів ви можете побачити всі компоненти, які є у вашому розпорядженні Першим я вибираю кнопку – в Gambas є така кнопка, яка називається перемикається, ToggleButton Вона-то мені і потрібна Я переношу її на форму

Рис 464 Додавання перемикається кнопки

На кнопці немає напису, але, виділивши кнопку клацанням мишки, в її властивостях (праве вікно) можна знайти властивість Text, яке і дає можливість ввести текст (як і для форми, якщо виділити всю форму)

Рис 465 Додавання написи на кнопку

Якщо тепер перегортати закладки у вікні елементів (є кнопочка праворуч від закладок), то можна знайти розділ Network, де знаходиться SerialPort, який слід перенести (мишкою) на форму

Рис 466 Додавання COM-порту на форму

З цим, звичайно, все ясно А тепер про те, що у мене не вийшло Ті, кому це не цікаво, можуть пропустити кілька сраніц

Як і в минулі роки, я хочу після клацання мишки по кнопці «Вперед» відкрити COM-порт Спочатку я налаштовую властивості порту:

Рис 467 Налаштування властивостей порту

Вся настройка звелася до зміни швидкості обміну, 1200, і вказівкою, де шукати COM-порт Останнє я вводжу як рядок, тобто, в подвійних лапках У Linux це «/ dev/ttyS0»

Після подвійного клацання по кнопці «Вперед» зявляється редактор тексту програми із заготівлею, де я вводжу першу команду

Рис 468 Введення команди

Як ви бачите, при введенні елемента зявляється підказка Якщо поставити після введення імені елемента точку, то зявляється підказка за властивостями і методам цього елемента

Рис 469 Підказка за методами і властивостями елементів

Я вибираю те, що мені потрібно, тобто, відкрити порт Залишається програму відкомпілювати і запустити на перевірку

Рис 4610 Кнопки компіляції програми і запуску відладчика І при запуску відладчика виникає проблема:

Рис 4611 Проблема з роботою програми

Порт не відкривається Минулого разу я міняв права, щоб отримати дозвіл на доступ до порту Цього разу мені це не допомогло Програма має підказку У Gambas3 розділ Help поки не перекладений Але у мене стоїть і Gambas2 Після запуску цієї версії, а я випробував і цей варіант, відкривається підказка до цієї версії

Рис 4612 Підказка в програмі Gambas

Але не дуже допомогло ні читання довідки, ні використання програми в режимі адміністратора (root) Напевно, треба було б розібратися з причинами такої поведінки програми, але я вирішив використовувати приклад, який є в Gambas Правда, приклад працює тільки для читання, але текст програми можна скопіювати в блокнот, а власну програму переробити відповідно до прикладу Ось перероблена програма:

Рис 4613 Перероблена програма

Назва порту, як і в прикладі, Sport, але це, швидше, щоб поменше писати щось Форма залишилася такою ж, настройки порту теж, тільки без вказівки «/ dev/ttyS0» (може в цьому справа) Але те, що повідомлення про помилку відкривання порту не зявилося, ще не означає, що порт працює І у мене нова проблема У Windows я використовую осцилограф, але він не працює в Linux

Щоб перевірити, чи працює порт, я використовую програму minicom – термінальна програма, яку спочатку, запустивши від rootа слід налаштувати Виглядає це так:

Рис 4614 Налаштування minicom

Щоб увійти в режим настройки слід запустити термінал, командою su перейти до роботи з правами адміністратора Після введення пароля ввести minicom-s У меню, вибрати

«Налаштування послідовного порту», ​​де задати шукане пристрій / dev/ttyS0 Потім вибрати

«Зберегти налаштування як dfl» і вийти з налаштувань При налаштуванні порту зявиться нове меню, в якому потрібні зміни, назва порту і відмова від контролю потоку, вибираються за допомогою натискання вказаних в меню букв на клавіатурі

Після збереження налаштувань можна запускати програму з терміналу за допомогою команди minicom / dev/ttyS0 Крім програми знадобиться кабель, у якого можна закоротити 2 і 3 висновки – зєднати TxD і RxD Натискаючи клавіші на клавіатурі, ви можете перевірити роботу програми:

Рис 4615 Перевірка роботи minicom

І, нарешті, можна перевірити роботу нашої програми

Рис 4616 Перевірка програми, створеної в Gambas

Текст тестової програми:

‘ Gambas class file Public Sub _new() End

Public Sub Form_Open() End

Public Sub ToggleButton1_Click() If SportStatus = NetActive Then

Close Sport ToggleButton1Text = Вперед Else

SportOpen () ToggleButton1Text = Єду

Print #Sport, &quotA" Chr$(13) Chr$(10) Endif

End

Public Sub Form_Close()

If SportStatus = NetActive Then Close Sport End

Тепер можна дописувати програму повністю і перевіряти її роботу Хоча я і не дуже розумію, як визначається порт: на моєму компютері один COM-порт, а якби було два

Ми познайомилися із середовищем програмування Gambas, повнофункціональної і вільною, яку можна використовувати для створення програми, що управляє роботом з компютера

Джерело: Гололобов ВН, – Самовчитель гри на паяльнику (Про електроніці для школярів і не тільки), – Москва 2012