Вопрос

Недавно я читал о приложении Hello World Arduino и подумал про себя: & "Интересно, смогу ли я сделать это с оборудованием, которое у меня есть сейчас. "

Поскольку у меня нет Arduino, я взял флешку, которая лежала вокруг, и начал поискать информацию об этом. Я не нашел много полезной информации в этой области, поэтому сейчас я спрашиваю: могу ли я получить доступ к оборудованию USB-накопителя (например, к индикатору) и взаимодействовать с ним через некоторую среду программирования (я думал, что C # должен наверное есть какой нибудь способ сделать это)?

Кроме того, в связи с этой темой - кто-нибудь знает, какие команды используются USB-накопители? Например, устройства хранения SCSI имеют стандартизированный набор команд; Устройства ATA имеют аналогичный протокол. Как такие вещи, как простые команды чтения / записи, передаются на запоминающее устройство USB?

Это было полезно?

Решение

Несмотря на то, что протокол USB является довольно общим, периферийные устройства действительно зависят от конкретной функции и для правильной работы требуют какой-то драйвер устройства на хосте.

Хотя на флэш-накопителе USB установлен микроконтроллер, большинство USB-накопителей используют общий протокол. Вот почему вам не нужно устанавливать разные драйверы устройств для каждого диска, который вы подключаете к Windows.

Я почти уверен, что в протоколе запоминающего устройства нет & "Включить светодиод &"; сообщение :) И хотя компания, которая внедрила USB-накопитель, на самом деле может иметь специальную команду для этого (возможно, для отладки), я сомневаюсь, что она будет опубликована.

Хотя я не гуру в Windows, я считаю, что для прямого доступа к USB-стеку вам нужно написать собственный драйвер устройства и подключить его к ядру. Можете ли вы представить, может ли обычное приложение отправлять & Quot; format all & Quot; Команда на произвольное USB-устройство.

Другие советы

Вот ссылка на светодиодную лампу с управлением от USB, она маленькая больше работы, чем подключение USB-накопителя.

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

Итак, если ваш USB-накопитель смонтирован как F :, вы можете просто создать файл, например F: \ lights.txt, и записать в него несколько килограмм данных, затем стереть файл и начать заново.

Один недостаток заключается в том, что флеш-накопители со временем изнашиваются, и это изнашивает их. Вы также можете просто попробовать прочитать данные с диска.

Если вам нужен более точный контроль, вы можете приобрести такие устройства USB для сбора данных, как эти это позволит вам управлять определенным электрическим выходом, чтобы питать все, что вы хотите, включая лампочки или светодиоды. Первоначально они использовались учеными для измерения входных данных от лабораторного оборудования, я использовал такие вещи в своем уроке физики в колледже, хотя в то время мы использовали RS-232.

Я бы посмотрел здесь . Они используют что-то под названием Mass Storage.

USB-накопители в Linux выглядят как SCSI-накопители, поэтому вы можете выполнять ЗАПРОС, ЧТЕНИЕ, ЗАПИСЬ и т. д. Обычно у производителя контроллера флеш-накопителя может быть специфичный для поставщика " backdoor, " который неизвестен широкой публике.

Вы можете управлять USB как порт RS232, надеюсь, эта ссылка MSDN поможет вам больше http: // www.microsoft.com/downloads/details.aspx?FamilyID=075318ca-e4f1-4846-912c-b4ed37a1578b&DisplayLang=en

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top