Os de robot. La boucle infinie.
Tandis que vrai %
« définir ou redéfinir les valeurs
"capteur de valeurs d’entrée
« Autres emplois
« Faire 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 :
data = inp(&h379) IF (data and 32) = 32 then print "Out of paper / pin 12 high"
Le tableau ci-dessous liste le numéro d’entrée pin pin, sa fonction normale et le nombre requis de le lire (par exemple 32 a été utilisé dans l’exemple ci-dessus) :
Numéro d’identification | Usage normal | Nombre de lire |
10 | Hommage | 64 |
11 | Élevé si non occupé | 128 |
12 | Haut quand en 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é :
start: res = INP(&H379) CLS IF (res AND 8) = 8 THEN PRINT "Button pushed" ELSE PRINT "Button NOT pushed" FOR delay = 1 TO 500: NEXT delay GOTO start
Je sais que ce code est un peu désordonné et cligno, 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.
Partie IV
Nous pouvons utiliser des programmes tels que Perrot pour définir des valeurs au port parallèle pour ces jpbs comme contrôlant le groupe motopropulseur. Voir aussi :