Например TDA7294

Форум РадиоКот :: Просмотр темы - Передача массива чисел в Visual Studio
Форум РадиоКот
https://radiokot.ru/forum/

Передача массива чисел в Visual Studio
https://radiokot.ru/forum/viewtopic.php?f=24&t=200011
Страница 1 из 1

Автор:  Andrew33 [ Чт дек 11, 2025 16:38:15 ]
Заголовок сообщения:  Передача массива чисел в Visual Studio

Добрый день!
Требуется передать с 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 [ Чт дек 11, 2025 17:25:13 ]
Заголовок сообщения:  Re: Передача массива чисел в Visual Studio

Просто сериализовать и передавать в текстовом виде. Я все сериализую, отлично работает. Например, передача с МК и прием на ПК.
Массив можно передавать через запятую. Например, так:
Код:
arrsize=100500
array=1,2,3,4,...

В двоичном виде передаю лишь если скорость нужна, как, например, здесь.

// а за калокуб и маздай - однозначно минус в "карму"!

Автор:  Andrew33 [ Вт дек 16, 2025 15:42:34 ]
Заголовок сообщения:  Re: Передача массива чисел в Visual Studio

ну так вроде разобрался. Но вот возник еще нюанс:
при приеме 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 [ Чт дек 18, 2025 09:07:42 ]
Заголовок сообщения:  Re: Передача массива чисел в Visual Studio

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/