0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 7
|
|
1 | |
Чтение данных через COM порт21.03.2012, 22:33. Показов 19393. Ответов 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 порт Чтение данных из файла и их передача через порт компьютера Что чтение данных через COM-порт делает с 2байтными значениями? |
21.03.2012, 23:56 | 2 | ||||||||||||||||||||||||||||||
Сообщение было отмечено Памирыч как решение
Решение1. Открытие порта
4
|
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 3
|
|
10.12.2019, 16:46 | 3 |
Всем привет!
Прошу прощения, что поднимаю старую тему, но в ответе в разделе "Открытие порта" часть кода отсутствует. Сам не могу дописать, так как только учусь. Может у кого остался оригинал этого поста с функцией целиком?
0
|
oh my god
|
|
10.12.2019, 17:13 | 4 |
А что не получается, вижу что функция у raxp, объявленна криво может в этом дело ? )
Добавлено через 8 минут любая процедура в начале названия имеет либо sub либо function в вашем случае пропущена строчка, конечно легко можно догадаться что там должно быть, )) автора можно не реанимировать
0
|
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 3
|
|
10.12.2019, 17:13 | 5 |
Так нет куска кода между
и этим
Также отсутствует кусок кода между
и этим
Также может еще чего нет.
Функцию я объявил стандартно 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 | 6 |
я так понимаю некоторой из пропущенных переменных должно присвоится значение из CreateFile тоесть если в аргументах есть префикс byRef значит она присвояемая
пример xxx(byVal a, byref b, byVal c) в модуле файла все эти переменные в аргументах тоесть: a, b, c не будут видны, зато переменная b может передовать свои данные в других процедурах если ее тип будет корректен тоесть числовой должен быть равен числовому и т.д
0
|
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 3
|
|
10.12.2019, 18:18 | 9 |
Спасибо! Нашел ответ здесь в приложении 1
0
|
10.12.2019, 18:18 | |
10.12.2019, 18:18 | |
Помогаю со студенческими работами здесь
9
Подключение/чтение/отправка данных на сторонние устройства через usb COM порт Чтение информации с весов через COM порт Передача данных через Com порт Передача данных через ИК порт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |