Чтение данных через COM порт - VB

Узнай цену своей работы

Формулировка задачи:

Имеется устройство, панель кнопок, связанная с компом через 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 работает со строковыми значениями. У кого нить есть похожие наработки или идеи от чего оттолкнуться?

Решение задачи: «Чтение данных через COM порт»

textual
Листинг программы
  1. Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, n byte.
  2.     BaudRate As Long        'Speed of data exchangeб, bps
  3.    fBitFields As Long      'Bit field for setting of port
  4.    wReserved As Integer    'Reserved
  5.    XonLim As Integer       'minimum number of bytes in the buffer to send Xon
  6.    XoffLim  = False Then
  7.             MsgBox ("Error Setting port:" & GetLastError)
  8.         End If
  9.         MsgBox ("The port is opened")
  10.        
  11.     End If
  12.    
  13. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут