Étapes pour faire clignoter une LED à partir d'un programme C / C ++?
Ce sont les plus faciles des mesures pour faire un petit circuit avec un flash LED à partir d'un programme C/C++?
Je préfère le moins de dépendances et les paquets nécessaires.
- Ce port serait-je me connecter à quelque chose?
- Le compilateur aurais-je utiliser?
- Comment puis-je envoyer des données sur ce port?
- Ai-je besoin d'avoir un micro-processeur? Si non je ne veux pas en utiliser une pour ce projet simple.
EDIT: Intéressé dans tous les OS de solutions spécifiques.
source d'informationauteur Brian R. Bondy
Vous devez vous connecter pour publier un commentaire.
Voici un tutoriel sur le faire avec un port parallèle.
Bien que je recommanderais un Arduino qui peut être acheté à très bon marché, et ne concernerait qu'le code suivant:
http://www.arduino.cc/en/Tutorial/BlinkingLED
Quel port? Le port parallèle est mon choix préféré puisqu'il sorties +5V TTL (niveau logique) et est très simple à programmer. La plupart des ports parallèles ont assez de puissance pour alimenter une LED. Il est important de se rappeler que les ports de l'ordinateur en général ne sont conçus que la sortie de signalisation tensions, et de ne pas produire suffisamment de courant pour réellement le pouvoir de la plupart des dispositifs.
Le compilateur? N'a pas d'importance. Ce type de matériel de piratage est plus amusant et facile sous Linux, si, si GCC est un bon choix.
Comment puis-je envoyer des données? Dépend du port et le système d'exploitation. L'USB est terriblement compliqué pour un simple projet, pour l'oublier. Les ports série et parallèles peuvent être contrôlés via une variété de différentes interfaces. Ma préférence est d'utiliser le
ioctl()
appel système sous Linux pour contrôler directement le port parallèle pins. Ici l'info sur la façon de le faire: http://www.linuxfocus.org/common/src/article205/ppdev.htmlAi-je besoin d'un microprocesseur? Non, vous n'avez pas besoin d'un microprocesseur de l'appareil externe (evidemment, votre ordinateur est équipé d'un microprocesseur :-P). Si vous utilisez le parallèle ou série de ports, vous pouvez simplement utiliser la LED et une résistance ou deux et les pièces nécessaires pour connecter la LED directement.
(Aussi: Les Linux Pilotes de Périphérique livredisponible gratuitement en ligne, contient de l'information sur l'interfaçage simple des appareils électroniques pour les ports parallèles et l'écriture des pilotes du noyau pour eux.)
EDIT: Il semble y avoir massif de la confusion dans ce fil de discussion à propos de ce que l'OP veut dire par, "ai-je besoin d'un microprocesseur?" Avec insistance, le port parallèle, seul, peut conduire une LED basé sur le logiciel dans l'ordinateur. Pas de microprocesseur est nécessaire dans l'appareil. Cependant, si vous souhaitez que l'appareil sera en mesure de contrôler lui-même sans être connecté à l'ordinateurun microprocesseur ou une autre logique numérique est nécessaire.
Si vous voulez clignoter une LED sans microprocesseur (qui n'implique pas de C/C++), un circuit simple à l'aide d'un 555 minuterie IC fera l'affaire. Ce sont des projets communs dans des débutants aux amateurs d'électronique de livres ou de kits car ils sont vraiment simple et vous pouvez obtenir les pièces de la Radio Shack type de lieu:
Si vous voulez le faire dans le logiciel,Vlion mentionnetout dépend du matériel utilisé et de la conception du circuit qui raccorde la LED.
Si vous voulez essayer et s'amuser avec quelque chose sur votre PC, voici un article sur comment faire clignoter les LEDs sont connectées aux broches sur le port parallèle de l'ordinateur:
Vous pourriez essayer de mettre une LED et un de 300 Ohms de résistance sur le port série de transmettre (broche 3) à la masse (broche 5). Puis envoyer les données pour l'allumer.
Le port série peut probablement la seule source de 10mA.
Bonne chance.
rapide et sale des opérations, vous avez 2 facile options: port série ou parallèle.
Le port série est plus facile, mais est limité dans le nombre de LEDs.
Pour connecter les LEDs, vous avez besoin d'un shell de connexion (DB25/DB9) du bon sexe, la LED et une résistance. Vous avez à regarder la valeur de votre résistance de vous-même.
Du port série, contrôle de flux de signaux qui sont sous le programmeur de contrôle. C'est une simple question de reproduire les bits corrects pour la MCR registre (après l'ouverture du port série).
Le port parallèle est un peu plus difficile, qu'il y a un peu plus de la poignée de main à faire, mais est généralement le même principe d'écriture dans un registre.
Vous devrez vous battre votre système d'exploitation à prendre le contrôle du port.
À l'aide de la ligne Tx est un peu complexe, comme le signal de l'affirmation de la série bitstream des données écrites à la transmettre registre. Je m'en tiendrais aux CTS et DSR signaux.
Rapide et sale de débogage, j'ai juste écrit pour les registres et regardé les voyants lumineux du modem.
Il dépend aussi de l'OS. Sur Linux, vous pouvez câbler une LED directement sur le port parallèle (avec une résistance de limitation de courant, bien sûr) et il suffit d'utiliser la fonction C "outb()" pour l'allumer et de l'éteindre.
Sur Windows, c'est beaucoup plus compliqué parce que les OS ne laisse pas l'utilisateur des applications de parler de ports directement.
Le plus facile de port pour ce faire devrait être de série ou en parallèle. Rappelez-vous de toujours mettre une résistance en série avec la LED ou de vous brûler.