Как я программирую драйвер для USB-устройства для платформы окон?

Большое спасибо за помощь!

Мне наконец-то удалось достичь того, что я хотел, с помощью функции.

Мой окончательный код выглядит следующим образом

type Point = [number, number];
function Point(x: number, y: number):Point {
  return [x, y]
}

let Painter = {
  ramdomPoint: (): Point => {
    return Point(Math.random() * w, Math.random() * h);
  }
};

Я думаю, что вот так, он достаточно выразителен. Я надеюсь, что это помогает другим! Привет из Испании:)

10
задан atomicharri 2 October 2008 в 15:51
поделиться

12 ответов

Обман и использование libusb. Я сделал это для проекта, я продолжал работать некоторое время и записал C++/wxWidgets приложение для обработки данных.

Я думал недавно о перезаписи приложения на ПК в wxPython хотя, поскольку это намного быстрее для разработки GUI.

Как Вы хотите отобразиться / регистрируют данные? Существует много доступных опций. Можно сделать некоторый довольно интересный материал (легко) с возможностями OpenGL wxWidgets, является ли это 2D или 3D представлением данных.

8
ответ дан 3 December 2019 в 16:11
поделиться

Если Вы можете я предлагать пользоваться библиотекой как libusb, как крис и Jon Cage предположили.

Если libusb не собирается удовлетворять Вашим потребностям, и Вы разрабатываете для Windows, необходимо взглянуть на программное обеспечение, которое предоставляет Jungo. Снова, это перемещает программное обеспечение usb в пространство пользователя вместо того, чтобы требовать разработки ядра Windows. (редактирование 3: Ilya указывает в комментарии, что Jungo также доступен для Linux),

Если необходимо сделать, некоторая разработка ядра (или Windows или Linux) затем C является вполне прилично единственной опцией, которую Вы имеете. Исследуйте эту книгу Rubini для разработки Linux. Для разработки драйвера окон я могу рекомендовать эту книгу Oney. Но я исследовал бы libusb опцию в предпочтении к разработке драйвера в обоих случаях.


Btw. Если все, чем Вы интересуетесь, является способностью измерить напряжения на USB-устройстве (и написание кода не важно) существует много продуктов там, которые сделают это для Вас. Смотрите на некоторые предложения от Национальных Инструментов. Они будут иметь дело с тяжелой работой usb и сбором данных и давать Вам хороший интерфейс программирования для использования в приложении.


(отредактируйте 2) существуют также некоторые последовательные usb микросхемы (например, они), с которым можно соединить интерфейсом непосредственно к встроенному процессору usig только uart. Обычно они идут с драйверами.

6
ответ дан 3 December 2019 в 16:11
поделиться

Взгляните на libusb. Это доступно и для Linux и для Windows.

3
ответ дан 3 December 2019 в 16:11
поделиться

Так как Вы все еще ищете устройство, которое преобразовывает напряжения в информацию, я предлагаю, чтобы Вы смотрели на устройства, которые реализуют интерфейс USB-HID (Human Interface Device), такой как найденные здесь.

Они обладают преимуществом не требования, чтобы любая разработка драйвера устройства была сделана, или драйверы, которые будут установлены. Они как Plug and Play как мышь, клавиатура или флеш-накопитель. Интерфейс довольно универсален, и большинство производителей также обеспечивает необходимые библиотеки, чтобы считать информацию из устройства, быть уведомленным, когда устройство включается в/, узнайте устройства и так далее.

Кроме того, взгляните на эту статью, которая объясняет, как использовать устройство HID в C#, например.

Dave

2
ответ дан 3 December 2019 в 16:11
поделиться

Если Вы не будете стуком бита Ваш собственный драйвер USB на микропрограммной стороне, Ваша микросхема будет, вероятно, идти с драйвером для ПК. Например, микроконтроллеры PIC от Микрочипа прибывают не только со встроенным микропрограммным обеспечением для PIC, но и с драйвером Windows. Я ожидаю, что другие поддерживающие USB микросхемы также шли бы со своими собственными драйверами.

Помните, что, в то время как Вы взаимодействуете с USB-портом непосредственно на микропрограммной стороне на стороне ПК все, Вы на самом деле взаимодействуете с, драйвер для хост-контроллера.

1
ответ дан 3 December 2019 в 16:11
поделиться

Кажется мне, что, если Вы хотите считать напряжения проводного соединения затем, Вам нужен преобразователь A/D. Вы делаете свой собственный преобразователь A/D? Если так, у Вас есть некоторое хорошее программирование встроенного микропрограммного обеспечения, чтобы сделать на стороне устройства, больше, чем драйвер стороны хоста, о котором Вы спрашиваете здесь. Иначе Вы собираетесь купить преобразователь A/D, и необходимо просто использовать драйвер, который поставщик предоставляет его.

1
ответ дан 3 December 2019 в 16:11
поделиться

Ваша самая легкая опция состоит в том, чтобы, вероятно, купить некоторое стандартное устройство сбора данных. Много компаний делает такую вещь, но они являются иногда пугающе дорогими:

  1. Национальные инструменты
  2. Ампликон
  3. LabJack

Вы могли также создать свое собственное из набора, хотя я не могу найти ссылки для Вас сейчас.

Если Вы хотите что-то более пользовательское, Вы могли бы использовать EZ-USB или PIC. Они обеспечивают драйверы USB (для Windows, по крайней мере), которые позволяют Вам взаимодействовать с устройством, не пишущий драйверы.

С большинством из них у Вас есть довольно широкий выбор языков программирования, я записал программное обеспечение для общения с EZ-USB-УСТРОЙСТВАМИ от Visual Basic 6 в прошлом.

1
ответ дан 3 December 2019 в 16:11
поделиться

Большинство микроконтроллеров создало в ADC, и тонна их также имеет созданный в подсистеме usb. Сайпрес, PIC, AVR приходит на ум. Каждый раз, когда я делаю работу USB для своих собственных проектов, я использую pyusb и wxPython. Они делают чертовски легким сделать задание, хотя существует вполне резкая начальная кривая обучения.

Бесстыдный сам включаются в стороне, я записал маленький драйвер Python с pyusb для USB-жидкокристаллического устройства. Можно проверить мой исходный код здесь.

1
ответ дан 3 December 2019 в 16:11
поделиться

Вы не говорите, на какую платформу Вы смотрите. При предназначении для Windows USB Показал, потрясающая ссылка.

1
ответ дан 3 December 2019 в 16:11
поделиться

Я, лично, использую PIC Микрочипа - у них есть преобразователи AD/DA, USB-порты, свободные драйверы и загрузчики - и все это за менее чем 4$. После того, как Вы включаете такое устройство, Вы получаете один дополнительный COM-порт - остальное тривиально.

1
ответ дан 3 December 2019 в 16:11
поделиться

Что касается оборудования, ознакомьтесь с продуктами FTDI .

Если у вас есть оборудование и вы хотите получить к нему доступ в Windows, я недавно обнаружил WinUSB ]. Если это то, что вам нужно, взгляните на этот технический документ .

1
ответ дан 3 December 2019 в 16:11
поделиться

В дополнение к WinUSB, Libusb и Jungo есть еще один вариант для программирования USB-устройств из пользовательского режима - каркас драйвера режима пользователя (UMDF) .

Написание драйвера UMDF в основном создает компонент In-Process COM с вашими любимыми инструментами.

0
ответ дан 3 December 2019 в 16:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: