Member 12882844 Ответов: 2

[Отправка пакета данных с ПК на последовательный порт в VB]


Привет Ребята,

Мне нужен пример кода для отправки пакета данных на последовательный порт с ПК (программа vb). Я ищу какой-нибудь пример кода для этого и как кадрировать пакет в коде, чтобы отправить его последовательно...Мой формат пакета выглядит следующим образом: [Type+Opcode+Parameter+CheckSum]

Пожалуйста, помогите!. Спасибо

Что я уже пробовал:

Я попытался отправить некоторые команды (AT-команды для модуля bluetooth), и он хорошо работает при отправке в последовательный порт. Но я не знаю, как создать пакет и отправить его в последовательный порт.

[no name]

Такой распространенный вопрос. Вы уже погуглили его? Просто Google "отправка пакета данных с ПК на последовательный порт в VB".

2 Ответов

Рейтинг:
2

OriginalGriff

Начать здесь: Последовательный порт.Способ Записи (Байт[], Типа Int32, Int32) Для (Системы.ИО.Порты)[^]- это метод, который вам, вероятно, нужно использовать.
И это тривиально сделать:

string parameter = "My parameter";
byte[] paramData = Encoding.UTF8.GetBytes(parameter);
int paramLen = paramData.Length;
byte[] data = new byte[1 + 1 + paramLen + 1];
data[0] = type;
data[1] = opcode;
Array.Copy(parameter.ToCharArray(), 0, data, 2, paramLen);
data[paramLen] = GetCheckSum(data);
myPort.Write(data, 0, data.Length);


Рейтинг:
1

Patrice T

Цитата:
Но я не знаю, как создать пакет и отправить его в последовательный порт.
Вы можете считать, что каждая отдельная команда AT, которую вы уже отправили, является фреймом.
Ваш фрейм - это просто строка, содержащая то, что вы хотите, команду AT или [Type+Opcode+Parameter+CheckSum].
вам просто нужно убедиться, что строка состоит из 8-битных символов и не будет закодирована как utf 8, Если у вас есть какие-то специальные символы.