Например TDA7294

Форум РадиоКот • Просмотр темы - Низкоуровневый доступ к СОМ порту
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт июл 04, 2025 10:57:06

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 17:22:19 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 22, 2025 13:53:28
Сообщений: 21
Рейтинг сообщения: 0
Разработал простейшую плату ввода-вывода через СОМ порт компьютера. Также разработал для нее набор подпрограмм на майкрософтовском бейсике под ДОС для создания с помощью этих подпрограмм, в свою очередь, управляющих программ для подключаемого оборудования. Таким образом получил возможность управления из ДОС и Win9x.
Мне бы хотелось иметь также возможность использовать и NT образные ОСи. Я вижу это так: управляющая программа пишется на Вижуал бейсике и обращается к библиотечным процедурам для доступа к регистрам порта. Необходимо иметь доступ к любому регистру порта на запись и чтение. Например, пусть мы имеем две процедуры Get и Put. Тогда обращение должно выглядеть так:
Put (port, register, data)
Get (port, register, data)
Где port - адрес порта, register - номер регистра, data – восьми битные данные.
Проблема в том, что я совершенно не представляю, как разработать такие процедуры и оформить их в виде библиотечных. Я не знаком с низкоуровневым программированием под Win. Я вообще не программист, а только электронщик. Может быть кто-нибудь знает где можно найти подобные бесплатные библиотеки, к которым я мог бы обращаться из бейсика. Еще один вопрос, сейчас для работы под Win9х я в свойствах системы отключаю нужный СОМ порт и только тогда Винда дает мне доступ к этому порту. А в случае, например, Win10 в принципе такой доступ возможен?
Заранее спасибо за возможные ответы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 17:28:02 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1222
Рейтинг сообщения: 0
Зачем тебе низкоуровневый доступ? Тут есть всё необходимое с описанием, исходниками и примерами.
https://www.kernelchip.ru/pcports.php


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 17:35:40 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3377
Рейтинг сообщения: 0
Зачем низкоуровневый доступ? Чего этим хотите добиться? Понимаете что USB конвертеры работать не будут, т. к. нет регистров COM порта?
Если нужно работать с COM портом, вот функции для бейсика, которые могут работать с портом в Windows, Linux и MacOS. Поддерживаются процы x86, x64 и ARM64.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 17:42:21 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 22, 2025 13:53:28
Сообщений: 21
Рейтинг сообщения: 0
Там описывается как передавать данные стандартным образом через СОМ порт, а меня интересует именно возможность записывать\читать содержимое ЛЮБОГО регистра порта. Моя плата не использует стандартный протокол, а только входы\выходы порта как независимые выводы.

Добавлено after 3 minutes 16 seconds:
Чтобы было понятней, приведу ссылку на разработку. К сожалению на англоязычном форуме.
https://www.vogons.org/viewtopic.php?t=99840


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 17:56:38 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3377
Рейтинг сообщения: 0
Вы наверное не внимательно смотрели мою ссылку и не заметили функции GetSerialPortStatus() и SetSerialPortStatus(), которые позволяют управлять выводами порта и считывать их состояния.

Вот к примеру прошивка PIC контроллеров через COM порт, но там другая библиотека, уже устаревшая.
Так же есть софт для программатора PIC на основе этого кода https://pure-basic.narod.ru/project/mpf_prog.html
Прога древняя (написана во времена Windows XP) и на современной винде работать не будет из-за отсутствия цифровой подписи у драйвера LPT порта.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 18:10:10 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 22, 2025 13:53:28
Сообщений: 21
Рейтинг сообщения: 0
Все эти функции годятся только для обмена с внешними устройствами через последовательную передачу данных, т.е. стандартное использование СОМ порта. Да они позволяют считывать состояние входов DCD, DSR, CTS, RI а также устанавливать выходы RTS и DTR. Мне же, кроме того, нужно устанавливать выход TXD и считывать вход RXD так, словно это простые вход и выход с логическими уровнями. Кроме того, нужно заносить нестандартные значения во все регистры порта. А этого предложенные функции не позволяют, по крайней мере я этого не нашел.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 18:24:10 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3377
Рейтинг сообщения: 0
Darmok писал(а):
Мне же, кроме того, нужно устанавливать выход TXD и считывать вход RXD
Устанавливать TXD можно, а вот считывание RXD не предусмотрено. То есть не поддерживается только RXD. Без него нельзя обойтись?
Почему не использовать arduino или плату с STM32?

Прямая работа с портом потребует в Windows 2000 и выше, драйвер с цифровой подписью для прямого доступа к порту и может работать нестабильно из-за конфликта с драйвером винды. Будет работать только с портом на системной плате, а не с USB конвертерами.

Darmok писал(а):
Кроме того, нужно заносить нестандартные значения во все регистры порта.
Для чего?

Поставьте DOS и пишите под нее.
Современные системы не дадут полный доступ к железу и получить его не так просто, т. к. нужен драйвер с цифровой подписью и нужно быть готовым к конфликтам с драйверами ОС.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 18:37:17 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 22, 2025 13:53:28
Сообщений: 21
Рейтинг сообщения: 1
То, что требуется низкоуровневый доступ к порту это цена которую приходится платить за простоту устройства. Вариантов работать через контроллер полно и даже ничего делать не нужно, можно купить готовое решение. Но разве настоящий хоббист электронщик так поступает? Нет, мы идем сложным путем. Драйвер так драйвер, знать бы еще как его написать.
Требование цифровой подписи можно обойти, хотя, конечно, это нежелательно, но если другого выхода нет, то ...
В ДОС и Win9х у меня и так все работает. Что касается того зачем писать во все порты, то если Вы мельком гляните в мой код, то все станет ясно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 18:49:33 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3377
Рейтинг сообщения: 0
Darmok писал(а):
Вариантов работать через контроллер полно и даже ничего делать не нужно, можно купить готовое решение. Но разве настоящий хоббист электронщик так поступает?
Мне вспомнилось про мышей и кактус. :)))
Зачем усложнять то что можно сделать проще? :)

Darmok писал(а):
Драйвер так драйвер, знать бы еще как его написать.
Обычно пишут на Си, но если очень нужно, можно на бейсике написать. Там есть готовый драйвер для x86 и x64 для доступа к портам - pbdriverio.sys и pbdriverio_x64.sys. Чтобы работал его нужно подписать, а с этим немного сложно. Нужно юридическое лицо и несколько сотен американских рублей на покупку цифровой подписи у майкрософта.

Darmok писал(а):
если Вы мельком гляните в мой код, то все станет ясно
Кода нет и не на что смотреть. Не проще в двух словах объяснить?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 19:00:25 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 22, 2025 13:53:28
Сообщений: 21
Рейтинг сообщения: 0
Некоторые сорта кактусов весьма аппетитны, из них, в том числе, делают текилу. :)
За ссылку огромное спасибо, буду изучать, авось что-нибудь получится. С подписью даст бог справлюсь.
Мой код доступен по ссылке, которую я давал. Но дам его напрямую. В двух словах объяснить сложно.

Вложение:
GPIO_R.zip [4.26 KiB]
Скачиваний: 35


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 19:03:28 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1222
Рейтинг сообщения: 0
То, что требуется низкоуровневый доступ к порту это цена которую приходится платить за простоту устройства.

По-моему, проще взять готовую плату на FT232H по цене бутылки вина и получить законченное решение. Можно взять любой маленький МК с USB за 100 рублей и повторить на нём эту плату времён царя Гороха. И все они будут управляться через СОМ-порт, правда, виртуальный. Впрочем, каждый сам выбирает себе объект для секса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Низкоуровневый доступ к СОМ порту
СообщениеДобавлено: Вт мар 04, 2025 19:11:29 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3377
Рейтинг сообщения: 0
tonyk писал(а):
Можно взять любой маленький МК с USB за 100 рублей и повторить на нём эту плату времён царя Гороха.
И я про тоже. Можно организовать связь через USB HID что позволит использовать имеющийся драйвер и будет работать начиная с Win95 (не помню была ли там поддержка USB, в 98 точно была) до текущей версии винды.
Вот к примеру баромер со связью по USB HID.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y