реклама на сайте
подробности

 
 
> Свой драйвр для COM
Timofey
сообщение Dec 14 2010, 02:06
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 119
Регистрация: 3-07-06
Пользователь №: 18 528



В силу ряда причин пишу свой драйвер для встроенных в материнку COM портов. Возникло несколько вопросов:
1. Читал, что через биос можно узнать адреса стандартных портов, путем чтения данных по адресу 0040h. Читаю от туда данные, а они постоянно меняются. Верен ли адрес? Где вобще можно узнать адреса стандартных портов?
2. В системе есть один порт с ресурсами 0x3F8-0x3FE, читаю эти адреса, а там одни фф. Получается порт не исправен? Или он на самом деле лежит по другим адресам? Запись других значений ничего не дает, там по прежнему лежат ФФ. Может это из-за того, что порт на самой плате внутри корпуса на разъем выведен (не сзади системника стандартный ДБ9) и он все таки по другим адресам в памяти?
3. На домашнем компе при выполнении пункта 2 вижу нормальные, адыкватные числа. Порт настраивается. Теперь хочу перехватить прерывание. В каких то случаях получается прерывание настроить на свою программу, в каких то нет, возвращается ошибка параметров. Удачный перехват происходит только если в диспетчере задач выключить порт и снова включить. тогда без проблем. до следующей перезагрузки. Можно ли как то этого избежать?

Сообщение отредактировал Timofey - Dec 14 2010, 02:51
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
firstvald
сообщение Dec 15 2010, 11:18
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 580
Регистрация: 3-06-08
Пользователь №: 38 041



Если уж взялись за modbus RTU, то используйте обычные функции ReadFile и WriteFile. Допустимый зазор между байтами задайте просто задав тайм ауты в структуре тайм аутов, их надо подбирать , т к все таки реально получающиеся миллисекунды крепко отличаются от того, что пишем в константы, причем отличаются как от операциоки к операционке, так и от машина от машины. Но вам совершенно не надо выгребать миллисекунды.
1.5 вам не надо совершенно, вам надо опознать конец передачи и все. Для больших скоростей в спецификации RTU введено ограничение 1.7 по моему, точнее не надо, но с точки зрения реализации на компе и это нонсенс - нету таких возможностей.

Для скорости 57600 я в константы структуры тайм аутов пишу 6. С просящимся изначально туда числом 2 прием не работает и еще серьезнее не работает если в винде крутится процесс который чего-то хочет: работа по сети, файловые операции, медиаплеер, запуск эксплорера.

Пы Сы Через USB вирт компорты или через Ethernet вир com порты modbus rtu работать не будет, может, но это уже будет крепко за спецификациями sm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Timofey   Свой драйвр для COM   Dec 14 2010, 02:06
- - V_G   Если упоминается диспетчер задач, стало быть, под ...   Dec 14 2010, 03:22
- - Timofey   Да, под винду ХР СП2 пишу.   Dec 14 2010, 03:25
- - adnega   Может в Вашем случае и не обязательно обращаться в...   Dec 14 2010, 03:51
- - Timofey   Все дело в том, что программа будет стоять на комп...   Dec 14 2010, 03:56
|- - XVR   Цитата(Timofey @ Dec 14 2010, 06:56) Все ...   Dec 14 2010, 08:01
|- - singlskv   Цитата(Timofey @ Dec 14 2010, 09:56) з.ы....   Dec 17 2010, 19:25
|- - Timofey   В модбасе конец посылки обозначает пауза 1,5 байта...   Dec 18 2010, 02:02
|- - firstvald   Цитата(Timofey @ Dec 18 2010, 08:02) В мо...   Dec 18 2010, 11:33
|- - singlskv   ЦитатаRS-485 с аппаратным RTSЕсли с аппаратным RTS...   Dec 18 2010, 20:28
- - Demeny   Цитата(Timofey @ Dec 14 2010, 05:06) 1. Ч...   Dec 14 2010, 04:39
|- - Timofey   Цитата(Demeny @ Dec 14 2010, 09:39) Адрес...   Dec 14 2010, 04:46
- - Timofey   Да я знаю, что очень точно время считать все равно...   Dec 14 2010, 13:38
|- - _Pasha   Цитата(Timofey @ Dec 14 2010, 16:38) Да я...   Dec 14 2010, 13:43
- - Timofey   я такого в инете не нашел, но начальство сказало с...   Dec 14 2010, 13:44
- - Timofey   Таймауты там задаются в мс, мне же надо аж мксек в...   Dec 15 2010, 12:43
- - firstvald   Посылайте всех нах. Документ: Modbus_over_serial_...   Dec 15 2010, 15:54
- - Timofey   В ТЗ есть ремарка, что мол да, это противоречит ст...   Dec 16 2010, 04:04
- - firstvald   Ха! Не удивляюсь. Даже разработчики модбаса ...   Dec 16 2010, 07:32
- - Timofey   Прога будет стоять на мониторе, где крутится Windo...   Dec 16 2010, 07:38
- - firstvald   Смотрите. Прежде всего устройство должно уметь в ...   Dec 16 2010, 08:56
- - Timofey   В этой системе уже стоят 20 устройств, одно из кот...   Dec 16 2010, 09:56
|- - _Pasha   Цитата(Timofey @ Dec 16 2010, 16:56) Сейч...   Dec 16 2010, 15:17
- - firstvald   Да там такую хрень замутили, что все чихать потом ...   Dec 17 2010, 06:19
- - XVR   В принципе на уровне драйвера можно обеспечить тре...   Dec 17 2010, 06:27
- - firstvald   Так мне и рекламация такая была: а чё музыку низзя...   Dec 17 2010, 11:49


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 05:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016