Étape 8: logiciel.
En cours...
Os de robot. La boucle infinie.
Alors que true % « définie ou redéfinir les valeurs de capteur d’entrée des valeurs » autres emplois font ce qui est nécessaire selon les valeurs d’entrée. Wend partie I. définir ou réinitialiser les valeurs. Partie II obtenir valeurs de capteur. Les broches d’entrée de lecture
La commande pour lire des ports en qbasic est INP. L’adresse que vous devez lire est l’adresse du port parallèle (généralement 378h) + 1 ; l’adresse habituelle est donc 379h. Comme j’ai mentionné précédemment, les broches, utilisés pour la saisie sont 10-13 et 15. Les différentes broches de lecture est peu plus difficile que d’écriture vers les ports que vous devez masquer les broches vous n’êtes ne pas intéressé. Lorsque vous lisez le port, les premiers 3 bits retournés ne sont pas utilisés. Par exemple, le code de qbasic ci-dessous s’écrirait axe 12 (sur papier). Lorsque ce port est élevé, "out of paper / broche 12 basculée" s’affichera : données = inp (& h379) IF (données et 32) = 32 puis imprimer "out of paper / broche haute 12" le tableau ci-dessous liste les broches d’entrée numéro pin, sa fonction normale et le nombre requis de le lire (par exemple 32 a été utilisé dans l’exemple ci-dessus): NIP numéro Normal but pour lire 10 hommage 64 11 haute quand pas occupé 128 12 haut quand plus de papier 32 13 haut quand imprimante en ligne 16 15 haute lorsque aucune erreur 8
Si vous comprenez pas binaire, vous devriez immédiatement voir d'où viennent ces chiffres, et pourquoi ils sont utilisés pour masquer les toutes les autres broches, nous ne sommes pas essayer de lire. La chose la plus simple que vous pouvez utiliser pour tester c’est juste connecter un commutateur entre une broche d’entrée et une broche de terre (18-25). Par exemple, si vous connectez un commutateur entre les broches 15 et 20, vous pouvez utiliser le code suivant pour surveiller quand l’interrupteur est pressé : Démarrer : res = INP(&H379) CLS IF (res et 8) = 8 THEN PRINT "bouton poussé" ELSE PRINT "Bouton ne pas poussé" du retard = 1 500 : prochain retard début GOTO, je sais que ce code est un peu désordonné et la volonté de scintillement, mais il est écrit pour plus de clarté. Le même code peut être utilisé pour surveiller les quatre autres lignes d’entrée en modifiant à la « 8 » vers un autre numéro de la table. Partie III autres emplois. Des programmes tels que Perrot partie IV nous permet de définir des valeurs au port parallèle pour ces jpbs comme contrôlant le groupe motopropulseur. Voir aussi :
Portcontrol est un beau programme pour lire les données et écrire des données sur les ports disponibles à :
http://www.epanorama.net/circuits/portcontrol.tar
Vous aurez besoin d’un compilateur C pour votre système pour le faire fonctionner,
Logiciel de contrôle du port pour Linux
Version 0.3
Droit d’auteur Tomi Engdahl 1996-2005
Introduction
Ce progiciel permet d’accéder aux ports d’e/s de matériel PC ordinateur sous système d’exploitation Linux.
Ce paquet softare est conçu pour fonctionner sur le système Linux qui fonctionne sur PC normal. Le logiciel a été testé pour fonctionner bien sur Fedora Core 4 distribution Linux. Vous avez besoin de GCC pour compiler les programmes.
Ce paquet fournit les outils suivants :
lptout programme simple pour contrôler le port imprimante LPT1 données broches portcontrol générale utiliser port e/s lecture et l’écriture control.php application AJAX/PHP based interface web pour le contrôle de port parallèle
Les logiciels sont fournis sans garantie de leur exactitude. Utiliser à vos risques et périls.
La compilation
Run : faire installer
Installation
Ouvrez une session tant que root. Run : faire installer
Le logiciel est maintenant installé dans/usr/local/sbin/répertoire Using lptout
L’utilisateur doit avoir le previledges racine d’avoir accès aux ports pour le programme à exécuter. C’est pourquoi le programme est installé avec des paramètres SUID ROOT, ce qui signifie que chaque fois que le programme est exécuté, il s’exécute automatiquement à la racine previledges, peu importe qui l’exécute. Ce programme est conçu pour accéder à port parallèle LPT1 à l’adresse d’e/s 0 x 378 (adresse normale pour port parallèle intégré à la carte mère)
Par exemple, commande /usr/local/sbin/lptout 0xFF transformera toutes les broches de données au port LPT1 à l’État haut (1). /Usr/local/sbin/lptout 0 x 00 de la commande va passer toutes les broches de données à l’état bas (0).
À l’aide de portcontrol
portconrol est un programme de contrôle du port d’I/O simple d’usage général pour Linux. Il vous permet d’écrire et de lire les ports e/s pris en charge. Le logiciel permet d’écrire la valeur spécifiée pour le port, lecture de valeur à donner adresse e/s et en imprimant à l’écran en différents formats et manipulation au niveau du bit des données port.
Exemples
/usr/local/sbin/portcontrol LPT1DATA lecture setbit 1 écriture lit les données de port parallèle, mis peu D1 1 et écritures valeur retour définit efficacement la broche LPT1 D1 en port parallèle à la logique 1
/usr/local/sbin/portcontrol LPT1DATA lu resetbit lectures données du port parallèle, mis peu D1 à 0 et écrit la valeur retour définit efficacement la broche LPT1 D1 en port parallèle à logique 0
/usr/local/sbin/portcontrol LPT1DATA setvalue 0xff écriture écrit valeur 0xff (255 dec) au port parallèle définit efficacement toutes les broches de données LPT1 à logique 1
/usr/local/sbin/portcontrol LPT1DATA lu impression bin lectures le port parallèle, broche de données précise et imprime les résultats sous forme de nombres binaires à l’écran (sortie standard).
/usr/local/sbin/portcontrol LPT1DATA lu impression bin lectures le port parallèle, broche de données précise et imprime les résultats sous forme de nombres binaires à l’écran (sortie standard).
/usr/local/sbin/portcontrol LPT1DATA lire printbits 021 lit le port parallèle, broche de données précise et imprime les États de bits D0, D1 et D2 dans cet ordre à l’écran (sortie standard).
Port pris en charge les identificateurs LPT1DATA LPT1 port les lignes de données contrôle (0 x 378) LPT1STATUS LPT1 entrées statut imprimante inscrire LPT1HANDSHAKE LPT1 handstake sortie contrôle lecture de port JOYSTICK Joystick (lecture seule est logique)
Commandes prises en charge PRINT DEC lire les données, sortie donne comme nombre décimal HEX imprimer lire les données, donne le résultat sous forme de données PRINT BIN lire numéros hexadécimales donne sortie comme bits binaires de PRINTBITS numéros indique les bits spécifiés dans l’ordre indiqué (0.. 7)
ÉCRIRE que écrit Registre valeur à lire lit valeur du port de port spécifié pour vous inscrire
Valeur SETVALUE affecte la valeur donnée pour vous inscrire et valeur et exécute avec valeur attribuée et s’inscrire ou valeur effectue ou avec la valeur compte tenu de la valeur et le registre XOR XOR effectue avec étant donné les bits SETBITS valeur et Registre ensembles étant donnés les bits à 1 dans Registre RESETBITS morceaux ensembles étant donnés les bits à 0 dans le registre SETBIT bits même que peu de bits SETBITS RESETBIT comme RESETBITS TOGGLEBITS bits bascule spécifié les valeurs
valeur peut être donne sous forme décimale ou heaxadecimal commençant par 0 x bits est une liste d’identificateurs de position de bit de 0 à 7
Les noms de port sont ment à écrire à Etui haute. Commandes au cas faible.
L’interface web
L’interface web pour contrôler le port parallèle est basé sur le web moderne simple interface pour contrôler le port parallèle. Pour le rendre, il faut avoir les éléments suivants dans votre système: - serveur web Apache avec support de PHP5 travaillant avec elle - portcontrol logiciel installé par défaut installe répertoire - SAJAX Simple Ajax Toolkit par ModernMethod - navigateur moderne qui prend en charge JavaScript (IE6, Mozilla Firefox)
L’installation de l’interface web est simple. Tout ce dont vous avez besoin est de copier le fichier control.php à un endroit approprié sur votre répertoire web vous voulez qu’il soit copier le fichier Sajax.php du paquet SAJAX dans le même répertoire où vous avez la control.php.
Ensuite il suffit d’aller à l’URL où vous avez ce control.php accessible. Vous devriez voir la ligne d’État ainsi qu’un ensemble de boutons de commande. La barre d’État doit mettre à jour automatiquement toutes les 5 secondes avec le statut de port parallèle et l’heure actuelle sur l’ordinateur serveur. En appuyant sur les boutons changeront les États de bit port parallèle.
Notez que sur certains systèmes, que le script PHP peut chaud ont suffisamment de droits pour exécuter le logiciel portconrol. Vérifiez vos droits d’accès pour s’assurer que les droits sont corrects (le système ne fonctionne pas sur mon système de Fedora Core 4 quand j’ai eu de sécurité SELinux activée).
SAJAX Simple Ajax Toolkit par ModernMethod peut être téléchargée sur http://www.modernmethod.com/sajax/
Remarque : Il existe une autre version du fichier control.php. Ce travail de controlfile.php de fichier joli une grande partie de la même manière, mais au lieu de port parallèle contrôle écrit et lit le statut d’un fichier (status.txt dans le même répertoire que le script est). Il peut être utilisé pour tester le système de contrôle AJAX/PHP basé.