2010-10-07 4 views
-3

je veux tester l'usb sur linuxComment écrire un simple programme C pour port USB?

+2

Que voulez-vous faire? Avec quel périphérique voulez-vous communiquer? –

+0

S'il vous plaît modifier votre question; En ajoutant les points suivants, vous obtiendrez peut-être de meilleures réponses: 1. Qu'est-ce que vous essayez exactement d'accomplir et pourquoi (non, ce n'est pas * clair * à partir de la question)? 2. Qu'avez-vous essayé jusqu'à présent? 3. Quels résultats avez-vous obtenus? 4. En quoi cela diffère-t-il des résultats que vous attendiez? – Piskvor

+1

Un clavier peut être USB. Créez un programme de console, en C, qui accepte une ligne d'entrée textuelle. C'est "un programme c pour USB". Ceci est un exemple de la raison pour laquelle la question que vous avez posée n'obtiendra pas les résultats souhaités. –

Répondre

6

Pour détecter de C qu'un nouveau périphérique de stockage, comme une clé USB, est inséré, utilisation GetLogicalDrives(); ou GetLogicalDriveStrings() et voir si des nouvelles entrées sont détectées.

Regardez aussi comment GetDriveInfo2 est implémenté (il utilise WINAPI) et this Stack Overflow question, qui est liée ou peut-être un dupe. Une fois que vous avez le nom du lecteur logique, ouvrez-le sous forme de répertoire et énumérez-y les fichiers comme vous le feriez pour n'importe quel répertoire avec FindFirstFile().

+0

'GetLogicalDrives()' et 'GetLogicalDriveStrings()' ne font pas partie de C. – Donotalo

+0

@Donotalo, true. :-) –

3

Cela dépendra fortement du système d'exploitation et dépendra du type de périphérique USB auquel vous voulez réellement parler. Normalement, vous n'accéderiez pas le pilote USB directement mais l'utiliseriez via une API de plus haut niveau. Par exemple. Pour un lecteur de disque USB, vous devez y accéder comme n'importe quel autre lecteur de disque via les API de système de fichiers et ne pas vous préoccuper des API USB. USB est une pile de protocoles complexe conçue pour se connecter au système d'exploitation hôte à différents endroits. Vous n'avez donc normalement pas besoin d'accéder aux API USB, sauf si vous écrivez un pilote ou si vous avez besoin de communiquer avec un autre type de périphérique. appareil standard.

Questions connexes