Передача массива чисел в Visual Studio

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Andrew33
Родился
Сообщения: 12
Зарегистрирован: Вт дек 12, 2023 14:29:05

Передача массива чисел в Visual Studio

Сообщение Andrew33 »

Добрый день!
Требуется передать с STM на ПК массив чисел (да хотя бы просто число)
HAL_UART_Transmit(&huart1, str3, strlen(str3), 100);} При передаче заранее прописанной строки все проходит и отображается в Visual Studio :

string vlag = serialPort1.ReadLine();
Invoke(new Action(() => { textBox3.Text = vlag; }));

Когда пытаюсь передать массив чисел (число) - ничего не приходит. Уже и так и сяк преобразовывал.
Может кто нибудь фрагмент рабочего кода показать как преобразовать массив uint_16 в строку для передачи.
Возможно это простой вопрос, но рабочего ответа пока не нашел
Аватара пользователя
linux_rulezz
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Пн сен 15, 2025 08:43:23
Откуда: Маленький СССР посреди шариатской республики

Re: Передача массива чисел в Visual Studio

Сообщение linux_rulezz »

Просто сериализовать и передавать в текстовом виде. Я все сериализую, отлично работает. Например, передача с МК и прием на ПК.
Массив можно передавать через запятую. Например, так:

Код: Выделить всё

arrsize=100500
array=1,2,3,4,...
В двоичном виде передаю лишь если скорость нужна, как, например, здесь.

// а за калокуб и маздай - однозначно минус в "карму"!
Windows must die!
Andrew33
Родился
Сообщения: 12
Зарегистрирован: Вт дек 12, 2023 14:29:05

Re: Передача массива чисел в Visual Studio

Сообщение Andrew33 »

ну так вроде разобрался. Но вот возник еще нюанс:
при приеме Termite отображает правильную последовательность, например : 52 03 de 03 de 00 52 03 52 03 da 02 da 02 da 02
А вот в VS приходит: 52 03 3f 03 00 3f 52 03 52 03 3f 02 3f 02 3f 02
То есть правильно доходят hex числа в которых не букв (d,e,a....). Какая причина тут может быть?

"минус" в карму ставить не обязательно. Я не программист и пользуюсь тем что есть
Andrew33
Родился
Сообщения: 12
Зарегистрирован: Вт дек 12, 2023 14:29:05

Re: Передача массива чисел в Visual Studio

Сообщение Andrew33 »

Разобрался.
При использовании Readline искажались байты с 1 в старшем бите (видимо за отрицательные принимались)
Пришлось использовать serialPort1.Read
Ответить

Вернуться в «Интеграция с ПК»