|
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 7
|
|
Чтение данных через COM порт21.03.2012, 22:33. Показов 20488. Ответов 8
Метки нет (Все метки)
Имеется устройство, панель кнопок, связанная с компом через RS-232 т.е. COM порт.
Хочу сделать прогу, которая отображала бы нажатие кнопок на этой панели кнопок, т.е. например, нажал Клавиша_1 - изменились бы данные в Label1 Устройство работает на определенной скорости - 115200 бод, 8 бит, 1стоп бит, без контроля четности. Это устройство постоянно, с интервалом 100 мс, выдает 2 байта информации. Первый байт (байт посылки) B7 - 1b B6 - Клавиша_1 B5 - Клавиша_2 B4 - Клавиша_3 B3 - Клавиша_4 B2 - Клавиша_5 B1 - Клавиша_6 B0 - Клавиша_7 второй байт B7 - 0b B6 - N/A B5 - Количество неустановленных битов в первом байте(B6-B0) B4 - Количество неустановленных битов в первом байте(B6-B0) B3 - Количество неустановленных битов в первом байте(B6-B0) B2 - Количество установленных битов в первом байте(B6-B0) B1 - Количество установленных битов в первом байте(B6-B0) B0 - Количество установленных битов в первом байте(B6-B0) Установленный старший бит указывает, что это первый байт посылки. Остальные биты в первом байте принимают значения 0b - если соответствующая кнопка нажата, или 1b - если кнопка не нажата. ТО что нужно юзать MScomm понятно, но как работать с 2 байтами, ведь MScomm работает со строковыми значениями. У кого нить есть похожие наработки или идеи от чего оттолкнуться?
0
|
|
| 21.03.2012, 22:33 | |
|
Ответы с готовыми решениями:
8
Можно ли через VB организовать связь (через паралельный порт) с отдельным устройством? Чтение/передача данных через USB порт Чтение данных из файла и их передача через порт компьютера |
|
|
||||||||||||||||||||||||||||||||
| 21.03.2012, 23:56 | ||||||||||||||||||||||||||||||||
Сообщение было отмечено Памирыч как решение
Решение
1. Открытие порта
4
|
||||||||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 3
|
|
| 10.12.2019, 16:46 | |
|
Всем привет!
Прошу прощения, что поднимаю старую тему, но в ответе в разделе "Открытие порта" часть кода отсутствует. Сам не могу дописать, так как только учусь. Может у кого остался оригинал этого поста с функцией целиком?
0
|
|
|
oh my god
|
|
| 10.12.2019, 17:13 | |
|
А что не получается, вижу что функция у raxp, объявленна криво может в этом дело ? )
Добавлено через 8 минут любая процедура в начале названия имеет либо sub либо function в вашем случае пропущена строчка, конечно легко можно догадаться что там должно быть, )) автора можно не реанимировать
0
|
|
|
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 3
|
||||||
| 10.12.2019, 17:13 | ||||||
|
Так нет куска кода между
Функцию я объявил стандартно Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
0
|
||||||
|
oh my god
|
|
| 10.12.2019, 17:25 | |
|
я так понимаю некоторой из пропущенных переменных должно присвоится значение из CreateFile тоесть если в аргументах есть префикс byRef значит она присвояемая
пример xxx(byVal a, byref b, byVal c) в модуле файла все эти переменные в аргументах тоесть: a, b, c не будут видны, зато переменная b может передовать свои данные в других процедурах если ее тип будет корректен тоесть числовой должен быть равен числовому и т.д
0
|
|
|
oh my god
|
|
| 10.12.2019, 17:59 | |
|
этих динозавров откапывать не потребуется., гдето есть на этом форуме нормальная реализация то что написанно в этой теме.. здесь по-просту перепост
0
|
|
|
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 3
|
|
| 10.12.2019, 18:18 | |
|
Спасибо! Нашел ответ здесь в приложении 1
0
|
|
| 10.12.2019, 18:18 | |
|
Помогаю со студенческими работами здесь
9
Что чтение данных через COM-порт делает с 2байтными значениями? Подключение/чтение/отправка данных на сторонние устройства через usb COM порт Чтение информации с весов через COM порт Передача данных через Com порт Передача данных через ИК порт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|