| Форум РадиоКот 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/ |
|


