На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
  
> драйвер для usb устройства , пишем драйвер
    Здравствуйте!


    То есть имеется USB устройство реализованное на микроконтроллере Pic18f2550 с
    под стыкованным TFT дисплеем.
    Для данного устройства написан функциональный драйвер. Скомпонованный с помощью DDK.
    Драйвер позволяет отправлять и принимать данные с USB устройства.
    То есть WINDOWS приложение с помощью стандартных API функций открывает ХЕНДЛ драйвера
    и соответственно ведет обмен данными с USB устройством, функциями
    WriteFile();ReadFile();. Во общем проблем нет.
    Но теперь данное USB устройство решил превратить в USB принтер.
    Изменил в дескрипторе устройств поля класс устройств на класс принтера.
    Диспетчер устройств определил , что это принтер и загрузил
    драйвер usbprint.sys поддержка usb принтера и на этом все.
    Теперь сам вопрос.
    Как превратить раннее разработанный функциональный драйвер
    USB устройства в полноценный драйвер принтера. Чтоб другие WINDOWS приложения могли видеть мое устройство,
    как принтер и отправлять документ на печать в мое устройство?
    Примеры из DDK D:\WINDDK\2600\src\print ,что то трудновато для понимания и не могу связать все с моим устройством.
    Хотелось бы написать драйвер для USB принтера.
    Может есть у кого опыта в подобных случаях?
      Написание драйвера требует глубоких знаний аппаратной части и низкоуровневого программирования, и требует большого объема работы.

      Общие принципы такие:

      1. Инициализация USB-устройства и TFT дисплея
      Перед тем как начать работу с устройствами, необходимо их инициализировать. Для этого нужно использовать соответствующие функции и библиотеки. В случае Pic18f2550 для работы с USB можно использовать библиотеку USB Stack, а для работы с TFT дисплеем - библиотеку, которая подходит для данного устройства.

      2. Обработка запросов от хоста
      Для обработки запросов от хоста (например, команды на печать документа) используется функция USBTransferOnePacket. Эта функция отправляет данные от хоста к устройству, и наоборот.

      3. Обработка команд на печать
      Для обработки команд на печать необходимо сначала распарсить данные, отправленные от хоста, чтобы получить информацию о том, какой документ нужно распечатать. Затем нужно отправить данные на принтер через соответствующий порт.

      4. Управление TFT дисплеем
      Чтобы отображать информацию на TFT дисплее, необходимо использовать функции библиотеки для работы с TFT дисплеем.

      5. Обработка ошибок
      В драйвере необходимо предусмотреть обработку ошибок, которые могут возникнуть в процессе работы с устройствами. Например, если произошла ошибка при передаче данных на принтер, нужно вывести сообщение об ошибке на TFT дисплей.

      Это только общая структура драйвера, и реализация зависит от конкретных требований к устройству и принтеру. Также необходимо учитывать особенности микроконтроллера и драйверов для работы с USB и TFT дисплеем.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0186 ]   [ 17 queries used ]   [ Generated: 19.04.24, 09:10 GMT ]