Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
396 / 196 / 49
Регистрация: 11.07.2013
Сообщений: 1,216

9-битный обмен через последовательный порт

12.10.2025, 13:07. Показов 2190. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с устройством, обмен с которым производится по протоколу, использующему 9 бит данных. Компонент TComPort предоставляет возможность добавлять 9-й бит (свойство Parity.Bits:=prMark или prSpace). А как при приёме можно определить состояние 9-го бита?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2025, 13:07
Ответы с готовыми решениями:

Преобразовать 8-битный bmp в 24-битный
помогите!!!вообще не имею понятия как это сделать:wall:

Почему в Windows-11 программа не отправляет запросы в последовательный порт
Программа работает в Windows-7 и в Windows-10, как в 32-х, так и в 64-х разрядных версиях. Для...

Последовательный порт в основном потоке
Здравствуйте! Приведите пожалуйста пример программы, в которой взаимодействие с COM-портом...

25
396 / 196 / 49
Регистрация: 11.07.2013
Сообщений: 1,216
12.10.2025, 18:56  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от jcxz Посмотреть сообщение
Лучше возьмите самую простую отладочную плату с любым МК.
Спасибо, скорее всего так и поступлю.
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
12.10.2025, 20:04
ну если это exUSSR
а еще и не дай Бог Перфоратор или считыватель или другая перефирия
то тут возможны варианты
1.восмиричный код
2 данные передаются на оборот те сначала 87654321{9} те ошибка четности в конце
3 экзотика {9} 87654321 те ошибка в конце
ну я надеюсь что такого нет.

короче надо протокол внимательно смотреть

Добавлено через 6 минут
но могут в обратно порядке 012345678{9}
{9}012345678
в инверсном виде так как те 0 это 1 а 1 это 0

Добавлено через 17 минут
КОИ-7(7bit)
1 четность{8}7654321
2 1234567{8}четность
3 ну и инверсия
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
12.10.2025, 20:16
в файле все подробней
Вложения
Тип файла: zip 114623.zip (3.70 Мб, 9 просмотров)
1
396 / 196 / 49
Регистрация: 11.07.2013
Сообщений: 1,216
25.10.2025, 23:09  [ТС]
А можно ли в Линексе определить 9-й бит.
Передать 1 млм 0 на этом месте получается, но принять состояние этого бита так и не получилось. Испробовал Windows API - бесполезно...

Добавлено через 2 минуты
Хотелось бы услышать мнение нашего "мага" - Volvo
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
26.10.2025, 07:58
Цитата Сообщение от shyub Посмотреть сообщение
А можно ли в Линексе определить 9-й бит.
Протокол обмена не зависит от ОС, он работает на уровне сигналов.
0
353 / 115 / 7
Регистрация: 19.07.2024
Сообщений: 594
26.10.2025, 13:30
Цитата Сообщение от shyub Посмотреть сообщение
принять состояние этого бита так и не получилось. Испробовал Windows API - бесполезно...
Вы же вроде решили последовать совету: взять отладочную плату и сделать на ней преобразователь.
Если так, то зачем снова 9-й бит в win или линухе?
С вышеуказанным преобразователем он не нужен от слова "совсем".

С любой ОС (хоть линух хоть win) возможность работы с 9-м битом будет зависеть от возможностей периферии UART в каждой конкретной системе. Если аппаратно UART на данной платформе этого не умеет - никак не добьётесь. Не факт, что все возможные UART на всех возможных платформах (на которых стоят lin/win) умеют работать в режимах 'space' и 'mark' по чётности.
Разве что если напишете свой драйвер нижнего уровня, в котором реализуете программно-эмулируемый UART. Но это будет сложно. И для каждой ОС (линух/win) его придётся писать отдельно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.10.2025, 13:30
Помогаю со студенческими работами здесь

Последовательный порт Ввод вывод данных
Добрый день. У меня тут возникла проблема с передачей и приёмом данных через com порт. Пишу на...

64-битный компилятор для Delphi 2010
Где можно взять 64-битный компилятор для Delphi 2010? Существует ли вообще он? У меня ОС х64.

16 битный ресурс в файле
Поставил винду 8,1 была 7, установил delphi xe3 и при попытке установить плагин выдает такую ошибку.

Как редактировать проект, созданный ранее на 64-битной Windows, используя 32-ух битный Лазарус?
Есть проект который я начал создавать в lazarus 64 2.0.6, и мне нужно продолжить разработку этого...

Примеры использования Async Free (СОМ-порт) или Async Pro (СОМ-порт)
Здравствуйте! Скажите пожалуйста есть пример где используют Async Free (СОМ-порт) или Async Pro...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru