274 / 63 / 4
Регистрация: 18.04.2011
Сообщений: 1,362
Записей в блоге: 1

Qt Serial Port отправляет только 3 байта

14.12.2015, 13:04. Показов 1519. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
на компе два порта подсоединены к друг другу . на один ком-порт привязываю свою программу, на другой программу терменал.
если отправлять более 3 байтов, то в любом случае я принимаю только первые 3.

как исправить?
Миниатюры
Qt Serial Port отправляет только 3 байта  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2015, 13:04
Ответы с готовыми решениями:

Работа Scilab Serial Port Library (COM port)
Как работает Scilab Serial Port Library ? (может кто то встречал описание подробное, поделитесь ссылкой) Нужно получать с COM port...

QT serial port
Здравствуйте! пытаюсь заставить работать ком порт в QT для начала решил попробовать простой пример ...

serial port
Здравствуйте. Использую стандартные классы .net для работы с ком портом. Работу с портом прослушал программой Portmon. Вот кусочек...

3
15.12.2015, 09:40

Не по теме:

Попробуйте удалить 0х00
Может из за этого останавливается.

0
42 / 40 / 7
Регистрация: 21.05.2012
Сообщений: 199
15.12.2015, 11:49
> как исправить?

1. Включить мозг.
2. Перечитать свои конспекты: что есть Си-строки и зачем \0.
3. А потом почитать в Qt доке про конструкторы QByteArray.
4. А потом, набравшись знаний, смекнуть и исправить.
0
0 / 0 / 0
Регистрация: 08.09.2014
Сообщений: 88
16.12.2015, 08:37
на компе два порта подсоединены к друг другу . на один ком-порт привязываю свою программу, на другой программу терменал.
если отправлять более 3 байтов, то в любом случае я принимаю только первые 3.

как исправить?
1. Сейчас ты используешь конструкцию из С почти правильно.
Ты подразумеваешь передачу строки символов. Строка символов должна закончиться "\0". Это правило.
Если бы ты создал массив так:

char p[]="123";

То в это случае:

p[0] = "1";
p[1] = "2";
p[2] = "3";
p[3] = "\0";

Т.е. символ конца строки "\0" поставился за тебя. И длина массива была бы равна 4.

2. Если ты используешь QByteArray, используй append(добавлять), т.е:

QByteArray x;
x.append("0x07");
x.append("0x05");
...
x.append("0x79");

Здесь даже не задумываешь о символе конца строки. Класс QByteArray делает всё за тебя. Это C++.

3. Для отладки компорта не обязательно иметь второй ПК.
Используй программу com0com - создаст виртуальный компорт (имитирует второй ПК). Всё сможешь отладить на своем ПК.

4. Попробуй встроенный пример "terminal".

5. Статья "QThread + QSerialPort! Крутим в отдельном потоке работу с СOM портом.".

Всё расписано очень хорошо, исходники внизу статьи.

Добавлено через 16 часов 5 минут
Всё, увидел символ конца строки у тебя - 0x00.
Еще раз.

C++
1
serial->write(data);
- Будет отправлять последовательно символы из твоего массива пока не встретит символа конца строки - 0x00.
Поэтому программа работает правильно, она отправляет первые 3 байта, а 4ый уже символ конца строки, который говорит о том, что строка кончилась.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2015, 08:37
Помогаю со студенческими работами здесь

Serial Port (RS232)
Пишу небольшую программулину, и запенился на паре маментов. Первый вопрос: Мне надо выставить паузу в пять(5) байт, как это сделать? ...

Serial port и shell
Друзья, подскажите пожалуйста. Задача следующая. Есть микроконтроллерная плата, которая начинает работать после отправки в неё символа...

Arduino serial port VS
такая проблема ни как не могу получить данные с ариаднино. Ардуина постоянно шлем данные что то вроде "GF2G54. мне их надо просто...

Serial Port Monitor (ПО)
Доброго времени суток! Будьте добры подскажите хороший терминал по типу Advanced Serial Port Monitor, для отслеживания передачи данных по...

Serial Port на Android
Приветствую всех. Написал тестовое приложение, показывающее, сколько COM портов есть в системе и их номера (использовал QSerialPortInfo)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
Как сделать SSO (Single Sign-On) в C# приложении
stackOverflow 18.05.2025
SSO — это механизм, позволяющий пользователю пройти аутентификацию один раз и получить доступ к нескольким приложениям без повторного ввода учетных данных. Вы наверняка сталкивались с ним, когда. . .
Kubernetes с Apache Flink для обработки данных в реальном времени
Mr. Docker 17.05.2025
Kubernetes — это целая философия управления распределёнными приложениями. В отличие от "примитивных" решений вроде Docker Swarm, K8s (как его ласково называют в тусовке DevOps-инженеров) предлагает. . .
Использование декораторов в Python
py-thonny 17.05.2025
Если вы когда-нибудь задумывались о том, как красиво расширить функциональность кода без лишней возни и дублирования, декораторы в Python — та самая волшебная палочка, которую вы искали. По сути, это. . .
Реализация многопоточных сетевых серверов на Python
py-thonny 16.05.2025
Когда сталкиваешься с необходимостью писать высоконагруженные сетевые сервисы, выбор технологии имеет критическое значение. Python, со своей элегантностью и высоким уровнем абстракции, может. . .
C# и IoT: разработка Edge приложений с .NET и Azure IoT
UnmanagedCoder 16.05.2025
Мир меняется прямо на наших глазах, и интернет вещей (IoT) — один из главных катализаторов этих перемен. Если всего десять лет назад концепция "умных" устройств вызывала скептические улыбки, то. . .
Гибридные квантово-классические вычисления: Примеры оптимизации
EggHead 16.05.2025
Гибридные квантово-классические вычисления — это настоящий прорыв в подходах к решению сложнейших вычислительных задач. Представьте себе союз двух разных миров: классические компьютеры, с их. . .
Использование вебсокетов в приложениях Java с Netty
Javaican 16.05.2025
HTTP, краеугольный камень интернета, изначально был спроектирован для передачи гипертекста с минимальной интерактивностью. Его главный недостаток в контексте современных приложений — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru