|
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 28
|
|||||||||||
Отправка массива в serialPort02.03.2016, 00:15. Показов 12984. Ответов 37
Метки нет (Все метки)
Здравствуйте, подскажите пожалуйста. Программа создаёт
0
|
|||||||||||
| 02.03.2016, 00:15 | |
|
Ответы с готовыми решениями:
37
Serialport.write и serialport.basestream.write - в чем разница Serialport |
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 02.03.2016, 08:56 | |
|
Какая проблема? Где проблема? Что не получается? Что должно получиться?
А то получается: мне надо приготовить яичницу, я встаю рано утром и иду на кухню, где у меня проблема?
1
|
|
|
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 28
|
|
| 02.03.2016, 16:59 [ТС] | |
|
Мне надо передавать массивы с вот такими числами (82,164,73,146,37,74,148,41) на устройство подключенное к USB. причём получить устройсво должно тип char, поэтому я конвертирую int в char. Но устройство их либо не получает, либо не правильно обрабатывает, потому что делает оно точно не то что ей отправляется. Вот я и спрашиваю, такой код как у меня написан может передать эти числа, или нет? Просто я не совсем понимаю как вообще отправить например число 82. Пока у меня получалось отправлять только числа от 0 до 9.
0
|
|
|
|
|
| 02.03.2016, 17:01 | |
|
Woland50, потому и не работает, что не понимаете
![]() Вот эти числа (82,164,73,146,37,74,148,41) это запись для людей в десятичном виде, в виде строки даже. Устройство, подключённое к RS-232, что ожидает? Массив байт какой-то, строку символов, или как-то по особенному закодированное сообщение? Добавлено через 20 секунд И причём тут USB? Мост USB-UART? Адаптер USB-RS232? Вот, например, кусочек краткого описания протокола HART: Там далее подробно описано где какой байт расположен, что означает, и что нужно скормить HART устройству, чтобы оно Вас поняло. А то, как Вы описали - "поди туда не знаю куда, возьми то не знаю что".
1
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 02.03.2016, 17:04 | |
|
Woland50, ну так по твоему коду ты создаёшь 2 пустых массива char длинной по 8 элементов, перегоняешь один в другой и отсылаешь в порт. Элементы массива по умолчанию инициируются нулями, т.о. в порт ты отправляешь массив нулей.
Я тебе по секрету скажу, только никому....можно поставить точку останова и посмотреть что происходит в нужной тебе строке.
1
|
|
| 02.03.2016, 17:05 | |
|
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 02.03.2016, 17:09 | |
|
Rius, ну это одна конкретная реализация протокола обмена. Кто знает что у автора за железка и какие данные оно ждёт. Вполне может быть, что и массив двухбайтных знаковых char.
1
|
|
| 02.03.2016, 17:11 | |
|
Не по теме: aquaMakc, да вот и надо вытрясти с автора, что же ему надо! А он не говорит. :)
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||||||
| 02.03.2016, 17:15 | ||||||
|
Woland50, в общем на тебе две строчки кода, включая правильную инициализацию твоего исходного массива:
1
|
||||||
|
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 28
|
||||||
| 02.03.2016, 17:25 [ТС] | ||||||
|
То что я не понимаю, это я хоршо понимаю
![]() Но надеюсь у меня получится. А если я запишу то же число 82 в виде (01001000) не помню или правильно, я не дома сейчас, но 82 я получил именно из подобной комбинации по формуле
Через USB у меня подключена Arduino, на неё и пытаюсь передать данные. Программу которая их генерирует осилил как-то, а вот передать не получается. Вы мне скажите куда копать, а то я направления не вижу
0
|
||||||
|
|
||
| 02.03.2016, 17:28 | ||
|
Woland50, нет, не правильно.
Отправляются либо строки, где один байт представляет собой код одного символа (в однобайтовой кодировке для простоты). Либо бинарные данные. Где, не учитывая даже протокола обмена, целое число может быть представлено в виде от 1 до 8 байт.
0
|
||
|
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 28
|
|
| 02.03.2016, 17:31 [ТС] | |
|
Действительно из пустого в пустой получается. Либо я не скопировал нужную строку, либо просто забыл её написать, если в двух словах то я пытался в этот буфер01 скопировать масс01, а потом его отправить в serialPort но по ходу не вышло
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||||||
| 02.03.2016, 17:40 | ||||||
|
Woland50, Как перегнать массив int в массив char я тебе уже написал. Надо вообще определиться в каком виде данные нужны ардуине.
Также меня смутило
Добавлено через 1 минуту Rius, ) ну слава богу ардуина не лицензируется под определённый протокол и каждый желающий может придумать свой формат обмена. Добавлено через 3 минуты Woland50, кстати, в c++ и c# char - это разные типы. В c и c++ это 1 байт, в c# - это 2 байта. Добавлено через 1 минуту Так-что скорее всего надо использовать не char, а byte
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 28
|
||||||
| 02.03.2016, 17:41 [ТС] | ||||||
0
|
||||||
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||||||
| 02.03.2016, 17:49 | ||||||
|
Woland50, пробуй
1
|
||||||
| 02.03.2016, 17:50 | |
|
0
|
|
| 02.03.2016, 17:53 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 28
|
|
| 03.03.2016, 15:59 [ТС] | |
|
Не закрывайте тему, я пока читаю что такое информация и как она передаётся
Как разберусь, потом будут ещё вопросы
0
|
|
| 03.03.2016, 15:59 | |
|
Помогаю со студенческими работами здесь
20
SerialPort SerialPort SerialPort в C++
Serialport Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|