Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование

Ещё раз о прямом доступе к аппаратуре

Забавная пачка "5000 дублей".
Юмор – настоящее богатство! Купюры в пачке выглядят совсем как настоящие, к тому же и банковской лентой перехвачены... Но вглядитесь
60 руб
Раздел: Прочее
Ручка "Помада".
Шариковая ручка в виде тюбика помады. Расцветка корпуса в ассортименте, без возможности выбора!
25 руб
Раздел: Оригинальные ручки
Мыло металлическое "Ликвидатор".
Мыло для рук «Ликвидатор» уничтожает стойкие и трудно выводимые запахи за счёт особой реакции металла с вызывающими их элементами.
197 руб
Раздел: Ванная

Сивцов Павел Преамбула Однажды мой знакомый попросил написать ему простую программу — «сторожевой пёс». Всё, что нужно делать — это отловить момент размыкания или замыкания внешнего контакта и при наступлении такого события запустить другую программу. Работать программа должна под Wi dows XP. Задача выглядела элементарной. Единственное, что не хотелось делать — аппаратную часть. Т.е. лучше всего было бы найти такое решение, при котором почти ничего не нужно было бы паять. Достаточно быстро выяснилось, что проще всего для такой цели использовать опрос состояний LP - или COM-портов. Тут и начинается самое интересное. LP Для реализации «сторожевого пса» на LP -порту можно использовать периодический опрос состояния некоторых его контактов. Можно просто выявлять состояния линий SELEC ED (контакт 13), BUSY (контакт 11) и PAPER EMP Y (контакт 12). Достаточно замыкать/размыкать выбранный контакт с «землей» (контакты 18–25). Я выбрал использование BUSY — замыкал контакты 11 и 23. Итак, аппаратная часть получалась элементарной, теперь нужно было как-то достучаться до выбранного контакта с программной стороны. Тут-то и встретилась первая сложность — легальных способов прямого доступа к портам в линейке Wi dows нет. Использовать примочки типа gwio.sys, разрешающие прямой доступ к аппаратуре, очень не хотелось. Работа с портом как с файлом в данном случае не подходит, т.к. нужно не данные читать, а опрашивать состояния. Тем не менее, после длительного изучения MSD , легальный доступ к некоторым линиям порта был обнаружен! Способ этот — доступ к порту через функцию DeviceIoCo rol( , IOC L PAR QUERY I FORMA IO , ). Тут обнаружилась вторая сложность — отсутствие нужных заголовочных файлов для Delphi. Пришлось самостоятельно портировать ddpar.h из DDK. Портированный файл получил название Jwa DdPar.pas и был любезно добавлен Marcel va Brakel в JEDI Wi dows API Library. Небольшой пример демонстрирует итоговый код. Delphi 7. Пример кода uses  SysU ils, JwaWi ype, JwaWi , JwaWi Base, Jwa DdPar; {$WAR SYMBOL PLA FORM OFF} fu c io Ge Lp S a us: Boolea ; var  eFileHa dle: Ha dle;  eI fo: ParQueryI forma io ;  eBy esRe ur ed: DWORD; begi  // откроем порт  eFileHa dle := Crea eFile('LP 1', GE ERIC READ, 0, il, OPE EXIS I G, 0, 0);  Wi 32Check(eFileHa dle &l ;> I VALID HA DLE VALUE);   ry  // узнаем состояние  Wi 32Check(DeviceIoCo rol(eFileHa dle, IOC L PAR QUERY I FORMA IO , il, 0,  @eI fo, SizeOf(eI fo), @eBy esRe ur ed, il));  Resul := (By e(eI fo.S a us) a d PARALLEL BUSY) = 0;  fi ally  // не забудьте закрыть хендл по завершению работы  Wi 32Check(CloseHa dle(eFileHa dle));  e d; e d; Короткий и элегантный код, не правда ли? Для решения поставленной задачи достаточно опрашивать состояние порта раз-другой в секунду. В принципе, конечно же, лучше сразу открыть порт при старте, а закрыть по завершению. ПРЕДУПРЕЖДЕНИЕ К сожалению, не удастся открыть порт в режиме FILE FLAG OVERLAPPED, чтобы затем использовать преимущества асинхронной работы. Точнее, порт открыть удастся, не удастся получить событие при изменении статуса линий порта. Зато этот код успешно отработал из-под гостевой учетной записи под Wi dows XP.

Последний нюанс — дребезг контактов. «Дребезг контактов — это явление многократного неконтролируемого замыкания и размыкания контактов в моменты их соприкосновения и расхождения». Длятся такие переходные процессы в кнопках около 10-15 миллисекунд. Т.е. с большой вероятностью мы будем получать ложные срабатывания нашего кода, если интервал между проверками будет короче. Надеюсь, этот пример работы с LP -портом послужит хорошей демонстрацией того, как во многих случаях легко получить легальный доступ к аппаратуре без написания драйверов или обхода Hardware Abs rac io Layer. Не для того этот HAL придумывали, чтобы его обходить. Доводилось читать о случаях захвата порта спулером печати, но на практике такую ситуацию встретить не удалось. Если кто-нибудь сможет прояснить этот вопрос, я буду рад. ПРИМЕЧАНИЕ Кстати, в середине страницы изложено достаточно интересное письмо, в котором описывается работа с портом в режиме IEEE COMPA IBILI Y. Такой режим позволяет с минимумом телодвижений обеспечить полноценный вывод данных на самодельное LP - устройство. COM При использовании COM-порта задача обнаружения внешнего события может быть решена ещё проще. Достаточно замыкать/размыкать контакты 7 (R S) и 8 (C S) у девятиконтактного разъема (опять ничего не придется паять) и проверять наличие сигнала C S. Причем опрос можно производить через стандартный CommApi. Пример кода fu c io Ge ComS a us: Boolea ; var  eFileHa dle: Ha dle;  eS a us: DWORD; begi  // откроем порт  eFileHa dle := Crea eFile('COM1', GE ERIC READ, 0, il, OPE EXIS I G, 0, 0);  Wi 32Check(eFileHa dle &l ;> I VALID HA DLE VALUE);   ry  // узнаем состояние  Wi 32Check(Ge CommModemS a us(eFileHa dle, eS a us));  Resul := (eS a us a d MS C S O ) > 0;  fi ally  // не забудьте закрыть хендл по завершению работы  Wi 32Check(CloseHa dle(eFileHa dle));  e d; e d; Впрочем, этот пример элегантным уже не назовешь, т.к. использование COM-порта дает возможность избавиться от периодического опроса, используя асинхронную работу через Wai CommEve и Wai ForMul ipleObjec s. Ниже приведен код примера. Для пояснения сути происходящего код обильно прокомментирован. Но все-таки обращу внимание на некоторые нюансы: Wai ForMul ipleObjec s ждет бесконечно. Никаких периодических опросов — значит и никакого потребления ресурсов. Всё реализовано на событиях. Нет необходимости в ermi a e hread для принудительного прекращения выполнения потока. Выполнение может быть «культурно» завершено в любой момент. Для этого используется отдельное событие. Простая реализация неблокирующей задержки для подавления дребезга. Поскольку периодический опрос мы не применяем, то, чтобы избавиться от ложных срабатываний программным путем, нужно подождать несколько десятков миллисекунд, и если состояние за это время не изменилось, то замыкание/размыкание цепи состоялось. В качестве таймера используется Wai able imer. Обратите внимание на его теоретическую точность. Ключевой метод procedure ComWa chdog hread.Execu e; var  // структура, используемая Wi 32 для хранения внутренней информации при  // асинхронной работе. Ничего кроме поля hEve нам от неё не требуется  eOverlapped: Overlapped;  // запрос ожидания асинхронного события изменения состояния порта  procedure I i Wai CommEve ;  var  eEve Mask: DWORD;  begi  // ошибки ERROR IO PE DI G нужно просто игнорировать - их наличие означает  // только то, что последняя операция с портом ещё не завершена.

 // Что интересно, нельзя дважды подряд вызвать Wai CommEve , т.е.  // запросил событие - значит, дождись его.  if o Wai CommEve (FComHa dle, eEve Mask, @eOverlapped)  a d (Ge Las Error &l ;> ERROR IO PE DI G) he  RaiseLas OSError;  e d; var  // WOHa dleArray - это просто готовый массив из 64 хендлов для  // функции Wai ForMul ipleObjec s. Мы используем только 3 хендла,  // но для простоты воспользуемся готовым массивом на 64, чтобы  // не связываться с ручным распределением памяти.  eHa dles: WOHa dleArray;  e ime: I 64;  eS a us: DWORD;  eS ubI s alled: Boolea ; begi  // заполним структуры для асинхронной работы  FillChar(eOverlapped, SizeOf(eOverlapped), 0);  eOverlapped.hEve := FCha geEve ;  eHa dles := F ermi a eEve ;  eHa dles := FFlu er imer;  // 0.5 секунды для Se Wai able imer  e ime := -5000000;  // Ничего себе точность, не правда ли?  // предварительно взведем флаг ожидания события, чтобы цикл заработал  I i Wai CommEve ;  while o ermi a ed do  case Wai ForMul ipleObjec s(3, @eHa dles, False, I FI I E) of  // при изменении состояния порта  WAI OBJEC 0:  begi  // опять взведем флаг ожидания события  I i Wai CommEve ;  // для подавления дребезга сделаем небольшую задержку. Если состояние  // порта изменится быстрее, чем истечет время задержки (дребезг), то  // таймер просто будет переведен "на попозже".  Wi 32Check(Se Wai able imer(FFlu er imer, e ime, 0, il, il,  False));  e d;  // при запросе принудительного завершении потока  WAI OBJEC 0 1:  // незамедлительный выход - завершение выполнения потока  Exi ;  // после задержки для подавления дребезга  WAI OBJEC 0 2:  begi  // узнаем состояние  Wi 32Check(Ge CommModemS a us(FComHa dle, eS a us));  eS ubI s alled := (eS a us a d MS C S O ) > 0;  // вызовем обработчик события  if eS ubI s alled he  DoO Cha ge;  e d;  // при нежданной ошибке  WAI FAILED:  // случилось страшное.  RaiseLas OSError;  e d; e d; Полный код примера приведен в прилагаемом к статье архиве. Список литературы JEDI Wi dows API Library Parallel Por Ce ral Serial Por Ce ral Письмо в журнал «Cooler» о прямом доступе к LP

Это мир вихря, мир турбулентности, но не мир кристалла, не мир стационарных орбит. Еще одно крупное открытие: оказывается, что векторное взаимодействие идет не только при прямом контакте, но и через интеллектуальный продукт. Достаточно прочитать стихотворение, послушать музыку, и векторное взаимодействие между создателем и слушателем налаживается. Это явление ещё раз подтвердило языковый характер векторного кольца, незадействованность интеллекта в векторном процессе и даже подчиненность интеллекта векторным ударам. Дело заходит так далеко, что у каждого знака хозяин превращается в некого божка. Оказалось, что есть всё же от векторного кольца и очевидная польза. В мире кино, где потребна любая крутая энергия, где любая мистика всегда "в кассу", векторный подбор актеров - это прямая дорога как к кассовому успеху, так и кинофестивальным победам. Наверняка то же можно отнести и к театру. Частично это касается и литературы. Однако вреда всё же больше, особенно когда одна мистика (векторное кольцо) сталкивается с другой мистикой (любовь)

1. Ещё раз о зеркалах Владимира Набокова

2. Контроллер прямого доступа к памяти

3. Оценка безотказной работы технической аппаратуры (задачи)

4. Проблемы сочетания представительного и прямого правления

5. Несанкционированный доступ к терминалам серверов с операционными системами семейства UNIX. На примере octopus.stu.lipetsk.ru

6. Remote Access Server, удаленный доступ модема к серверу
7. Защита информации в системах дистанционного обучения с монопольным доступом
8. Сравнение эффективности методов сортировки массивов: Метод прямого выбора и метод сортировки с помощью дерева

9. Парольные методы защиты информации в компьютерных системах от несанкционированного доступа

10. Рак прямой кишки

11. Проект очистки масло-шламовых сточных вод завода "Топливная аппаратура" электрохимическим методом

12. Расчёт балки один раз неопределимой (с врезанным подвижным шарниром)

13. Разработка технологического процесса ТР топливной аппаратуры автомобиля КамАЗ-5320

14. Проектирование участка по ТО и ремонту топливной аппаратуры на АТП

15. Элементная база радиоэлектронной аппаратуры-1 (Контрольная)

16. Расчет радиорелейной линии связи прямой видимости

Сиденье в ванну, белое.
Материал: экологически чистый пластик. Цвет: белый. Внутреннея ширина от 45 см до 75 см, Размер пластмассового сиденья 37 см длина и 30 см
782 руб
Раздел: Решетки, сиденья для ванны
Чайник со свистком Nadoba "Virga", 2,8 л.
Чайники серии Virga изготовлены из высококачественной нержавеющей стали 18/10. Прочное трехслойное капсульное дно изделий не деформируется
2499 руб
Раздел: Чайники из нержавеющей стали
Настольная игра "Колорама".
Ты знаешь цвета и формы? Красные круги, желтые четырехугольники, синие треугольники - пестрая неразбериха! На костях выброшен квадрат и
1363 руб
Раздел: Классические игры

17. Архитектура сотовых сетей связи и сети абонентского доступа

18. Радиорелейная линия Мангыстау - Жармыш на аппаратуре NERA

19. Сравнительный анализ верхней прямой подачи волейболистов различной квалификации

20. Мотивация и стратегия прямого инвестирования в конкурентной среде

21. Еще раз о роли Чингис-хана в истории

22. Бытовая радиоэлектронная аппаратура
23. «Раз голос тебе, поэт, дан... »
24. Еще раз о лейтмотиве свечи в романе Б. Л. Пастернака «Доктор Живаго»

25. Организация прямых продаж

26. Методология изучения темы «Признаки параллельности прямых

27. Прямая Эйлера

28. Анатомия прямой кишки

29. Онкология (рак прямой кишки 2)

30. Свищи прямой кишки

31. Выпадение прямой кишки

32. Онкология (рак прямой кишки)

Кружка фарфоровая "FIFA 2018. World Cup Russia", 480 мл.
Объем: 480 мл. Материал: фарфор.
416 руб
Раздел: Кружки, посуда
Вешалки-плечики "Стандарт", комплект 10 штук, синие.
Вешалка-плечики металлическая, покрыта слоем ПВХ. Предназначена для бережного хранения одежды. Металличекая, покрытая слоем ПВХ. Размер:
333 руб
Раздел: Вешалки-плечики
Сахарница с ложкой "Mayer & Boch", 450 мл.
Оригинальная сахарница MAYER&BOCH выполнена из высококачественного стекла и нержавеющей стали. Данная модель отличается современным
655 руб
Раздел: Сахарницы

33. Прямые испанские инвестиции в экономику России

34. Еще раз о сути пространства и времени

35. Элементная база радиоэлектронной аппаратуры

36. Прямые и косвенные налоги, применяемые в налогообложении

37. Высшая юридическая сила и прямое действие конституции

38. Ремонт, наладка, защитной аппаратуры токарно-винторезного станка 163 модели
39. Элементная база радиоэлектронной аппаратуры-2
40. Особенности конструирования радиотехнической аппаратуры

41. Элементная база радиоэлектронной аппаратуры-1

42. Позиционирование как стержень прямого маркетинга, или... Как быть интересным своему потребителю

43. Прямая почтовая реклама

44. Инородные тела прямой и толстой кишки после анальной мастурбации

45. Метод прямого наблюдения

46. Жакет прямого силуэта

47. Использование прямого преднамеренного внушения в бодрствующем состоянии в методике воспитания физических качеств

48. Еще раз о понимании: герменевтика и «панпсихизм»

Ватман "Kroyter Проф", А1, 100 листов.
Нарезанные листы ватмана для черчения. Формат: А1 (600Х840 мм). Плотность: 200 г/м2. В наборе: 100 листов.
2739 руб
Раздел: Прочее
Именная кружка с надписью "Любимая мама".
Предлагаем вашему вниманию готовое решения для подарка по любому поводу – именная кружка. Кружка изготовлена из керамики, в нежной
434 руб
Раздел: Кружки
Копилка-раскраска "Лисенок".
Набор для творчества. Копилка-раскраска. Пластиковая копилка легкая, приятная на ощупь, не бьется при падении и ее легко раскрашивать. В
324 руб
Раздел: Копилки

49. Доступ к экологической информации: права и возможности

50. Прямые инвестиции Японии в странах - членах ес и их влияние на развитие взаимной торговли

51. Прямые иностранные инвестиции в России: стратегия возрождения промышленности

52. О способах введения «чужой» речи в текст (знаки препинания при прямой речи и цитировании)

53. Современные средства поражения и характер их воздействия на промышленные объекты, радиоэлектронную аппаратуру и людей

54. Ингибирование солеотложений в теплообменной аппаратуре
55. Аппаратура П-318М-6
56. Геолого-технологические методы и аппаратура для контроля и управления процессом проводки горизонтальных скважин

57. Еще раз о глубокой печати о глубокой печати

58. Прямое лазерное гравирование обычных и гильзовых флексографских форм

59. Асиметричний доступ в Інтернет через супутник

60. Организация удаленного доступа к распределенным базам данных

61. Симметричный доступ на «последней миле»

62. Защита данных от несанкционированного доступа

63. Служба удаленного доступа (RAS) Windows NT

64. Основы использования WWW - технологий для доступа к существующим базам данных

Пазл "Стройка", 30 элементов.
Пазлы Ларсен - это прежде всего обучающие пазлы. Они привлекают прежде всего филигранностью исполнения. Сделанные из высококачественного
548 руб
Раздел: Пазлы (5-53 элементов)
Ручка-стилус шариковая "Людмила".
Перед Вами готовый подарок в стильной упаковке — шариковая ручка со стилусом. Она имеет прочный металлический корпус, а надпись нанесена с
415 руб
Раздел: Металлические ручки
Настольная игра "Много-Много", новая версия.
«Много-Много» — единственная в своём роде игра, в которой дети знакомятся с арифметической операцией умножения. С помощью специально
792 руб
Раздел: Математика, цифры, счет

65. Блок доступа к моноканалу ЛВС

66. Организация Web-доступа к базам данных с использованием SQL-запросов

67. Что является CDMA (Разделение Кодекса Многократный Доступ) (?)

68. Криптографическая защита информации домашнего компьютера от несанкционированного доступа при работе в сети internet

69. Ремонт аккумуляторных батарей для портативной аппаратуры

70. Доступ к ресурсам Internet через электронную почту
71. Проблемы совместного доступа к данным в Oracle
72. Прямая Эйлера

73. Выпадение прямой кишки

74. Прямой цикл Карно и тепловая изоляция

75. Структурирование сделок прямого частного инвестирования в России

76. Прямой путь к атеизму

77. Меры защиты от прямого и косвенного прикосновения к токоведущим частям

78. Сучасний облік прямих витрат

79. Регулирующий клапан прямого действия

80. Ограничение доступа к правосудию в уголовном процессе

Измеритель любви.
Измеритель любви - это чувствительный прибор, отмечающий малейшие изменения в вашем внутреннем состоянии. Нижнюю капсулу нужно зажать в
315 руб
Раздел: Прочее
Вкладыши "Лето".
Вкладыши "Лето" - это развивающая игрушка, предназначенная для детей в возрасте старше 3-х лет. При помощи такой игрушки ребёнок
503 руб
Раздел: Рамки-вкладыши
Конструктор металлический для уроков труда №2.
Конструктор раскрывает перед ребенком неограниченные возможности моделирования и создания множества своих собственных
397 руб
Раздел: Магнитные и металлические конструкторы

81. Уголовное законодательство зарубежных стран об ответственности за несанкционированный доступ к компьютерной информации

82. Проблемы доступа журналиста к информации

83. Фразеологизмы в форме словосочетания с прямым дополнением

84. Аппаратура, программное обеспечение и микропрограммы

85. Каналы и методы несанкционированного доступа к информации

86. Критерии выбора типа проекционного экрана и правила размещения проекционной аппаратуры в учебном помещении
87. Несанкционированный доступ к данным
88. Проектирование аппаратуры передачи данных

89. Разработка проводной локальной сети и удаленного доступа к данной сети с использованием беспроводной сети (Wi-Fi)

90. Средства безопасности и ограничения доступа к информации

91. Управление доступом к дискам, каталогам и файлам

92. Захист від несанкціонованого доступу

93. Автоматизация проектирования радиоэлектронной аппаратуры

94. Аппаратура для терапии постоянным и НЧ током

95. Измерительная и проверочная аппаратура

96. Мережа доступу ICATV+Ethernet (Мережа інтерактивного кабельного телебачення плюс мережа Ethernet)

Подушка Нордтекс "Магия сна", 70х70 см.
Наполнитель: полиэстер. Ткань чехла: микрофибра. Размер: 70х70 см.
556 руб
Раздел: Размер 70х70 см
Развивающая игра "Чудо - молоток".
Игра развивает творческий потенциал ребенка, способствует тренировке мелкой моторики, внимания, памяти. Играть в нее можно как одному,
1053 руб
Раздел: Прочие
Игра-головоломка "Орбо" (Orbo).
Головоломка Орбо – это абстрактная головоломка в виде белого шара с разноцветными шариками внутри. Она понравится как детям, так и
616 руб
Раздел: Головоломки

97. Оцінка результату і похибки прямих вимірювань

98. Проектирование систем абонентского доступа на основе технологии ADSL для Мичуринского регионального центра связи

99. Разработка системы управления освещением при помощи любого пульта дистанционного управления от бытовой аппаратуры


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.