При изменении масштабного коэффициента с 96 на 120 точек на дюйм смена экрана с 800х600 до 1280х1024 границы создаваемой. Была разработана программа на Delphi XE, делает снимки с. Не с экранали монитора Просто есть подозрение, что у них в системе не один драйвер захвата, поэтому ваша камера имеет индекс драйвера. До некоторого времени, если я не ошибаюсь, ntfs драйвер под. Прочитал я недавно гдето в интернете, что драйвер параллельного порта в. В Delphi для их использования нужно подключить модуль Windows. Эту строку Windows выдает на экран при обнаружении нового устройства. Исходник бутлоадера, выводящего на экран Wct one love в машинных кодах на. Примеры использования на FASM и Delphi. Небольшое приложение, иллюстрирующие работу с веб камерой в ОС Линукс. Захват видео с. Мне же хочется осветить весь процесс организации такого взаимодействия так как оно и должно быть сделано, и как делается во всех серьезных устройствах. В конце концов, сейчас 2. USB есть почти во всех микроконтроллерах. Именно о том, как наиболее быстро воспользоваться этим модулем и будет эта статья. Так как для демонстрации процесса написания драйвера USB устройства нам необходимо собственно само устройство, то выберем одну из распространенных отладочных плат доступных в России. У меня это плата производства компании OLIMEX модель LPC P2. Основой платы является микроконтроллер LPC2. ARM7. TDMI производства компании NXP. Всю информацию по плате можно получить на сайте производителя по следующей ссылке. Вот как она выглядит. Выбор контроллера и отладочной платы абсолютно не принципиален т. Среду разработки прошивки микроконтроллера будем использовать KEIL версии 4. В итоге, планируется реализовать только BULK тип передачи. Будем считывать массив данных из устройства в компьютер, а передавать на устройство будем состояние светодиодов, чтобы было видно, что плата реагирует на наши команды. Для удобства понимания разделим дальнейшие действия на стадии и будем проходить их по порядку. Адаптация готового примера USB устройства под нашу плату с целью убедиться, что плата работает и USB канал так же работоспособен. Это будет как бы наша стартовая точка. Изменение прошивки платы, чтобы она стала для Windows неизвестным устройством, требующее драйвер производителя. Адаптация базового шаблона, пустого драйвера, чтобы Windows могла его корректно установить, для обслуживания нашего устройства. Реализация взаимодействия драйвера с пользовательским приложением. Plugin Для Создания Черепицы В Archicad. Написание консольного приложения Windows для работы с нашим драйвером, а следовательно и подключенным USB устройством. Наполнение всей системы необходимыми функциями. Чего в этой статье не будет. Я не буду расписывать механизмы работы ОС, позволяющие находить и устанавливать нужный драйвер. Может кто сталкивался с проблемой захвата изображения. По типу там RAdmin. В некоторых доках есть инфа, что существует какойто драйвер. Запись изображения с экрана через Delphi, Kalex, Delphi, 1. Delphi Драйвер Захвата Экрана' title='Delphi Драйвер Захвата Экрана' />Не будет описания, как собирать прошивку в среде KEIL. Не будет описания параметров дескрипторов USB и вообще практически не будет ничего сказано про то, как работает прошивка. В конце я предоставлю ссылки на все источники информации, мои исходные коды и собранные бинарные файлы. Таким образом, описание любого момента не охваченного данной статьей, можно будет легко найти по указанным источникам. Поймите правильно, нереально вместить в одну статью подробную информацию по всем этим темам. Тем более, что есть более компетентные источники. Адаптация примера RTX. Данный пример, когда успешно заработает, позволит нашу плату подключать к компьютеру и она будет там видна как обычная USB флешка. Таким образом мы получим прошивку, которая заведомо корректно настраивает USB модуль и всю необходимую процессору периферию. Проект находится в папке ARMBoardsKeilMCB2. RLUSB. Пути здесь и далее я буду указывать относительно основной папки, куда установлена среда KEIL. Скопируем проект в отдельное место, загрузим его в KEIL и соберем. Собраться должен без ошибок. В итоге мы получили HEX файл, который можем прошить с помощью утилиты Flash. Magic. Правда можно пока его не прошивать так как очевидно, что он работать на нашей плате не будет. Если сравнить схему нашей платы и платы для которой написан пример, а это модель MCB2. KEIL, то видно различия в подключении подтяжки линии D. На плате MCB2. 14. В, а на LPC P2. 14. Схемы обеих плат доступны на сайтах www. Для простоты, мы немного изменим код инициализации, чтобы наша плата всегда при включении включала подтяжку линии D, о чем будет сообщать светодиод USB. А так как на этом же транзисторе есть еще и светодиод USB. По этому их назначение так же нужно переопределить. На данном этапе я их переназначил просто для индикации процессов чтениязаписи. Так как у нас нет индикаторов LED. Подключив плату к компьютеру, видно, что он ее распознает как внешний накопитель и в системе появляется еще один диск размером всего около 2. КБайт и с файлом readme. На этом первый этап можно считать законченным. Переход от USB накопителя к уникальному устройству. Но нам требуется, чтобы Windows не знала, ким образом работать с нашим устройством и требовала драйвер. О том, что подключенное устройство относится ко классу накопителей, говорит параметр Interface class находящийся в дескрипторе интерфейса. Если открыть файл usbdesc. USB. Дело в том, что Windows запомнив VID и PID нашего устройства в предыдущий раз, как относящиеся к устройству внешнего хранения, может продолжать ставить на него свой драйвер не обращая внимание на то, что класс устройства поменялся. Решение простое. Если плата по прежнему определяется как накопитель, найдите ее в ветке USB диспетчера устройств и удалите драйвер вручную. После этого ОС должна начать просить драйвер. Создаем базовый драйвер. Драйвер будет иметь минимальный код, чтобы только корректно загрузиться и выгрузиться системой. Писать драйвер мы будем самым минималистическим методом. Сам код будет редактироваться в блокноте, а собираться будет в командной строке. Для начала, нужно скачать с сайта Microsoft набор для разработки драйвером. Называется он Windows Driver Kit. Я использую версию WDK 7. После установки, мы получим много примеров, окружение для сборки и документацию. В меню пуск, нужно найти раздел WDK и там Build Environments. Это так называемые окружения для сборки. Фактически они предоставляют нам консоль, которая уже настроина так, чтобы собирать драйверы для нужной системы. Вы видите, что там для каждой ОС отдельная папке, где находится пара окружений Checked и Free. Первое для так называемых Checked систем, собирает драйвер с дополнительной информацией полезной при отладке. Второе собирает релиз драйвера, который потом и используется. Я буду использовать далее окружение x. Checked Build Environment от windows XP. Это даст мне универсальный драйвер корректно работающий на системах от Windows XP и новее. Теперь займемся поиском шаблона, с которого было бы удобней всего начать. Самым подходящим кандидатом оказался пример к некой плате OSR USB FX2 learning kit. Что это за плата я абсолютно не имею понятия, но нужный нам пример находится в WDK по пути srcusbosrusbfx. Самое интересное, что это не просто пример, а пошаговое обучение, как сделать драйвер к этой плате. Как раз то, что нам и нужно. Зайдем глубже в директорию kmdfsys и видим, что там все шаги и лежат по папочкам. Подробнее о них можно почитать в описании примера, находящемся в файле osrusbfx. Тут я сделаю небольшое отступление, чтобы немножко сделать более понятней следующие действия. Дело в том, что с момента появления Windows NT кое что изменилось в процессе написания драйвера. В те времена нам приходилось напрямую использовать функции ядра ОС и часто, просто чтобы сделать пустышку способную правильно загружаться, выгружаться, отвечать на события PNP и т. Потом Microsoft сделала модель, которую назвала Windows Driver Model и которая внесла некоторого рода стандарт что ли, как должен выглядеть драйвер.