|
Свой драйвр для COM |
|
|
|
Dec 14 2010, 02:06
|
Частый гость
 
Группа: Участник
Сообщений: 119
Регистрация: 3-07-06
Пользователь №: 18 528

|
В силу ряда причин пишу свой драйвер для встроенных в материнку COM портов. Возникло несколько вопросов: 1. Читал, что через биос можно узнать адреса стандартных портов, путем чтения данных по адресу 0040h. Читаю от туда данные, а они постоянно меняются. Верен ли адрес? Где вобще можно узнать адреса стандартных портов? 2. В системе есть один порт с ресурсами 0x3F8-0x3FE, читаю эти адреса, а там одни фф. Получается порт не исправен? Или он на самом деле лежит по другим адресам? Запись других значений ничего не дает, там по прежнему лежат ФФ. Может это из-за того, что порт на самой плате внутри корпуса на разъем выведен (не сзади системника стандартный ДБ9) и он все таки по другим адресам в памяти? 3. На домашнем компе при выполнении пункта 2 вижу нормальные, адыкватные числа. Порт настраивается. Теперь хочу перехватить прерывание. В каких то случаях получается прерывание настроить на свою программу, в каких то нет, возвращается ошибка параметров. Удачный перехват происходит только если в диспетчере задач выключить порт и снова включить. тогда без проблем. до следующей перезагрузки. Можно ли как то этого избежать?
Сообщение отредактировал Timofey - Dec 14 2010, 02:51
|
|
|
|
|
 |
Ответов
|
Dec 17 2010, 19:25
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Timofey @ Dec 14 2010, 09:56)  з.ы. в целом стоит задача реализовать модбас, где комп выступает слэйв устройством и отвечает мастеру не позднее 3.5 байт тишины Че-то Вы модбас совсем не вкурили... 3.5байта тишины это всего лишь конец посылки, т.е. по наличию не менее чем такой паузы принимающая сторона понимает что посылка закончилась. Slave на PC(16550A), ну-ну... RS-485 ? если да, то RTS хотя бы аппаратный ?
|
|
|
|
|
Dec 18 2010, 11:33
|

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

|
Цитата(Timofey @ Dec 18 2010, 08:02)  В модбасе конец посылки обозначает пауза 1,5 байта. А 3,5 байта тишины должно быть выдержано перед началом передачи следующей посылки. RS-485 с аппаратным RTS В модбасе конец посылки обозначает перерыв в течении времени не менее чем 3.5 времени передачи символа (почувствуйте разницу формулировки), а если в кадре встретилась пауза 1.5 - то кадр плохой. На практике это означает, что в контроллере, когда мы сами хозяева положения, мы начинаем анализировать приемный буфер тогда, когда в течение времени не менее чем 3.5 ничего больше не пришло. Для своих приборов мы приводим точные рекомендуемые значения не меньше чего надо ждать для какой скорости. Мастер должен выдержать перед началом следующей посылки паузу не менее 3.5 после последнего прнятого байта от любого прибора. Про 16650 я уже не смеюсь даже, там еще и времена чудесатые им понаписали. Мужики запорят тему на ровном месте или что хуже - чихать все это будет долго долго у заказчика, пока все не плюнут. Покажите всю эту писанину руководству.
|
|
|
|
Сообщений в этой теме
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 XVR Цитата(Timofey @ Dec 14 2010, 06:56) Все ... Dec 14 2010, 08:01   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 firstvald Если уж взялись за modbus RTU, то используйте об... Dec 15 2010, 11:18 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|