| Remarques pour toutes les commandes:
- Vous finissez une commande par l'envoi d'un <CR> ou <LF> ou une combinaison des deux. C'est ainsi que toutes les commandes doivent être résilié à être considéré comme valide.
- Le nombre total d'octets de chaque commande, à compter de l'octet tout premier nom de la commande jusqu'à et y compris le <CR> à la fin de la commande doit être de 64 octets ou moins. Si elle est plus longue de 64 octets, la commande sera ignorée, et d'autres mauvaises choses peuvent ou non se produire. Cette limitation, nous l'espérons être supprimée dans les futures versions D FW.
- Vous pouvez enchaîner autant de commandes que vous voulez en une seule chaîne, et ensuite envoyer cette chaîne à la fois au conseil USB IO. Tant que chaque commande individuelle n'est pas plus de 64 octets, cela va bien fonctionner. En mettant de nombreuses commandes ensemble (chacun avec leurs propres <CR> terminaison) et l'envoyer au Conseil tous les USB IO à la fois, vous rendre l'utilisation plus efficace de la bande passante USB.
- Après réception d'une commande réussie, l'USB IO Conseil sera toujours renvoyer un paquet OK, qui sera composé de "OK <LF> <CR>". Pour tester simplement les choses avec un émulateur de terminal, ce qui est très utile car elle vous indique que le câble USB IO Conseil compris votre commande. Toutefois, elle ajoute supplémentaires généraux de communication qui ne peut être apprécié dans une application de plus grande vitesse. A partir de cette version (1.4.0), vous pouvez utiliser la commande CU pour désactiver l'envoi de "OK" paquets. Erreurs seront toujours envoyés, mais pas tout "OK" paquets.
- Actuellement, la touche backspace ne fonctionne pas. Par exemple, si vous tapez une commande pour la carte USB IO à partir d'un émulateur de terminal et vous faites une erreur et essayer de retour arrière pour corriger votre erreur, l'USB IO Conseil ne reconnaîtra pas le retour arrière et va générer une erreur. Cela devrait être correct dans une future version FW D.
- Tous les noms de commande ("C", "BC", etc) sont insensibles à la casse.
- Tous les noms de ports ("A", "B", "C") sont insensibles à la casse
Commande "C":
- La commande "C" est synonyme de «Configurer» et vous permet de définir l'état de la direction du port trouvées pour les orifices A, B et C, ainsi que permettre les entrées analogiques. Cela vous permet de transformer chaque broche dans une entrée ou une sortie sur une broche par broche de base, ou d'activer une ou plusieurs des broches pour être entrées analogiques.
- Format: "C, <DirA>, <DirB>, <DirC>, <AnalogEnableCount> <CR>" où <DirX> est une valeur entre 0 et 255 qui indique la direction des bits de ce port. A 1 est une entrée, un 0 est une sortie.
- <AnalogEnableCount> Si cette valeur est envoyé en tant que zéro, alors toutes les entrées analogiques sont désactivées et toutes les broches de comporter des entrées comme juste ou sorties numériques.
- Si <AnalogEnableCount> est envoyé comme une valeur de 1 à 12, puis une ou plusieurs des entrées analogiques (voir ci-dessous) sont activés et commencer l'échantillonnage à chaque milliseconde. Toute valeur supérieure à 12 est une erreur. Utilisez le «A» de commande pour extraire les valeurs des entrées analogiques activée.
- Exemple: "C, 4,245,52,0"
- Avertissement sur les entrées analogiques: Il est très important que si vous activez une entrée analogique sur une épingle, que vous définissez cette broche en entrée (le bit <DirX> bon). Si vous avez une épingle définir comme une sortie dans le bit <DirX> mais il a permis que d'une entrée analogique, votre lecture analogique va simplement convertir la tension du courant de sortie numérique sur la broche (qui peut être ce que vous voulez, mais probablement pas) . Aussi, si vous avez une épingle définir comme une sortie numérique avec le bit <DirX>, mais ne l'activez pas comme une entrée analogique et ensuite appliquer des niveaux d'entrée analogique à la broche, que la goupille peut tirer un pouvoir excessif, car il peut flotter autour entre un haut (5V) et bas (0V). Insulaires du Pacifique sont très robustes, mais soyez prudent.
- Matrice des entrées analogiques:
- Si un ou plusieurs des entrées analogiques sont activées, puis utiliser ce tableau pour voir quel numéro pour <AnanlogEnableCount> permet les broches comme entrées analogiques. Le noyau PIC que tous les PICs USB sont construites sur a 13 canaux d'entrée analogiques. Toutefois, sur les 28 parties broches (qui sont actuellement utilisés dans les conceptions USB conseil OI) de trois de ces entrées analogiques (AN5, AN6 et AN7) ne sortent pas comme des épingles. Ils existent encore, et aussi loin que Firmware v1.2 D est concerné, sont traitées exactement comme toutes les autres broches d'entrée analogique, de sorte que le spectacle dans le "A" paquet. En outre, AN12 (l'entrée 13 analogique) n'est pas disponible pour Firmware v1.2 D utiliser car permettant à tous les 13 créerait un paquet USB supérieure à 64 octets, ce qui n'est pas autorisée.
<AnalogEnableCount> la valeur | AN11 RB4 | AN10 RB1 | AN9 RB3 | AN8 RB2 | AN7 NA | AN6 NA | AN5 NA | AN4 RA5 | AN3 RA3 | AN2 RA2 | AN1 RA1 | AN0 RA0 | 0 | D | D | D | D | D | D | D | D | D | D | D | D | 1 | D | D | D | D | D | D | D | D | D | D | D | Une | 2 | D | D | D | D | D | D | D | D | D | D | Une | Une | 3 | D | D | D | D | D | D | D | D | D | Une | Une | Une | 4 | D | D | D | D | D | D | D | D | Une | Une | Une | Une | 5 | D | D | D | D | D | D | D | Une | Une | Une | Une | Une | 6 | D | D | D | D | D | D | Une | Une | Une | Une | Une | Une | 7 | D | D | D | D | D | Une | Une | Une | Une | Une | Une | Une | 8 | D | D | D | D | Une | Une | Une | Une | Une | Une | Une | Une | 9 | D | D | D | Une | Une | Une | Une | Une | Une | Une | Une | Une | 10 | D | D | Une | Une | Une | Une | Une | Une | Une | Une | Une | Une | 11 | D | Une | Une | Une | Une | Une | Une | Une | Une | Une | Une | Une | 12 | Une | Une | Une | Une | Une | Une | Une | Une | Une | Une | Une | Une |
Commande "o":
- La commande "O" est synonyme de «l'état de sortie" et prendra les valeurs que vous lui donnez et les écrire à l'Un port, B et C des registres de données. Cela vous permet de définir l'état de toutes les broches qui sont sorties.
- Format: "O, <PortA>, <PortB>, <PortC> <CR>" où <PortX> est une valeur entre 0 et 255 qui indique la valeur des broches de port pour ce registre.
- Exemple: «O, 0,255,22»
- Retour de paquets: "OK"
Commande "i"
- La commande "i" est synonyme de «l'état d'entrée» et lorsque vous envoyez le USB IO Conseil une commande "i", il répond par un «I» de retour paquet qui contiendra la valeur de chaque bit dans chacun des trois ports Une , B et C. Il lit l'état de la broche, peu importe si la broche est une entrée ou une sortie. Si la broche est configurée comme une entrée analogique, le bit sera toujours lu bas (0) dans le "je" paquet.
- Format: "Je <CR>"
- Exemple: "I"
- Retour Packet: «Moi, <StatusA>, <StatusB>, <StatusC> <CR>" où <StatusX> est un nombre entre 0 et 255, qui indique la valeur actuelle des broches sur ce port. Notez que <StatusX> sera toujours 3 caractères de long, ce qui signifie que des zéros seront ajoutés afin que le paquet de retour est toujours la même longueur quelle que soit la valeur des données.
- Paquet de retour Exemple: «Moi, 001045205"
"V" Command
- Le "V" de commandement est synonyme de «Version» et lorsque vous envoyez le USB IO Conseil un «V» de commande, il va répondre avec une chaîne de texte qui ressemble à ceci: "USB IO Conseil FW D Version 1.4.0»
- Format: "V"
- Retour de paquets: "USB IO Conseil FW D Version 1.4.0»
Commande "R"
- La commande "R" signifie "Réinitialiser l'état» et lorsque vous envoyez le USB IO Conseil une commande "R" on va initialiser toutes les broches d'entrées numériques et d'arrêter toute les minuteries marche.
- Format: "R"
- Retour de paquets: "OK"
"T" Command
- Le "T" de commandement signifie «Minuteur lire les entrées et lorsque vous envoyez le USB IO Conseil un« T »de commande, il sera mis en retard pour l'un des deux minuteurs. Lorsque la minuterie fois, elle causera un «I» de paquets ou "A" paquet de réponse pour obtenir envoyées vers le PC.
- Format: "T, <TimeBetweenPacketsInMilliseconds>, <Mode> <CR>"
- <TimeBetweenPacketsInMilliseconds>: Le temps entre les paquets de réponse est déterminée par la valeur <TimeBetweenPacketsInMilliseconds>, et est exprimé par un nombre entre (et) 1 et 30000. Si vous envoyez un 10 pour <TimeBetweenPacketsInMilliseonds> alors une réponse nouveau paquet serait envoyé toutes les 10ms. Si vous avez envoyé une valeur de 30 000, alors ce serait envoyer un paquet de réponse toutes les 30 secondes. Si vous souhaitez désactiver soit minuterie afin que les paquets sont envoyés au plus, envoyez un <TimeBetweenPacketsInMilliseconds> de zéro. Vous devez envoyer un temps de zéro pour les deux "I" et "A" minuteries si vous les voulez à la fois pour l'éteindre. Remarque: juste parce que l'UWB peut expulser I et A tous les paquets de 1 ms (au plus rapide de son) ne signifie pas que votre application PC peut les lire dans ce rapide. Certains émulateurs de terminaux ne sont pas en mesure de faire face à ce débit de retour de la carte USB IO, et ce qui arrive est que l'USB IO Conseil débordement interne tampons. Cela va générer des messages d'erreur d'être renvoyé de l'Office USB IO. Si vous écrivez votre propre application personnalisée pour recevoir les données de l'Office USB IO, assurez-vous de ne pas lire dans un octet à la fois par le port série - toujours demander de grandes quantités (10K ou plus) et ensuite analyser le contenu interne de l' données provenant po (Réalisant que le dernier paquet peut ne pas être complète.) Remarque 2: Il a été découvert que si une tentative est faite pour avoir l'ensemble des 13 canaux d'entrée analogiques être signalés plus vite que tous les 4ms, puis une interne USB IO Conseil buffer overflow se produit. Soyez prudent avec la vitesse que vous choisissez pour un paquets. La vitesse maximale est basée sur le nombre de canaux analogiques vont être renvoyés.
- <Mode>: Si <Mode> est "0" puis le timer "je" de paquets (paquets d'entrée numérique) est réglé et va générer "je" paquets vers le PC. Si <Mode> est "1" puis le "A" minuterie de paquets (paquets d'entrée analogique) est réglé et va générer "A" des paquets vers le PC. Les deux minuteries peuvent être actifs et de renvoyer leurs paquets respectifs à différents (ou les mêmes) des taux.
- Remarque: L'USB IO Conseil est en fait l'échantillonnage des broches d'entrée numérique à un intervalle de temps extrêmement précise de ce que vous a envoyé dans la commande T. Les valeurs des broches sont stockées dans une mémoire tampon, puis les réponses de paquets sont générés chaque fois qu'il ya «temps libre» à l'arrière USB au PC. Ainsi, vous pouvez compter les réponses de paquets I entre fronts montants ou descendants des valeurs des broches et connaître le temps entre ces événements à la précision de la valeur de <TimeBetweenPacketsInMilliseconds>. Cela est vrai pour <Mode> = 0. Pour <Mode> = 1, les entrées analogiques sont échantillonnées toutes les 1 ms. Chaque fois que le «A» temporisateur sortir, la dernière série de valeurs analogiques est utilisée pour créer un nouveau «A» de paquets et qui est ensuite envoyé.
- Exemple: «T, 100,0" - ce qui devrait renvoyer 10 "I" de paquets par seconde, échantillonné toutes les 100ms.
- Exemple: «T, 14,1" - ce serait l'échantillon toutes les entrées analogiques permis et renvoyer un "A" paquet toutes les 14ms.
- Retour de paquets: "OK". Notez cependant, le «je» de paquets ou "A" paquet de réponses commenceront à être versés à intervalles réguliers après la commande T est reçue par l'UWB.
- Remarque: Si le "je" ou "A" paquet de réponses cesser de revenir après que vous avez fait un "T" de commande, et vous ne les empêche pas vous-même (avec un "T, 0,0" ou "T, 0 , 1 "), puis ce qui est arrivé est que la mémoire tampon interne au sein du Conseil USB IO pour moi ou un paquet de données a été rempli. (Il ya place pour des paquets I 3 et 3 A paquets.) Cela signifie que le système USB est trop occupé pour obtenir les réponses de paquets vers le PC assez rapide. Vous devez avoir moins de trafic USB (autres appareils) ou augmenter le temps entre les réponses de paquets.
«A» de commandement
- Le "A" de commandement signifie «Entrées analogiques échantillon. Lorsque vous envoyez le "A" paquet pour le conseil USB IO, il renverra la dernière série d'entrées analogiques échantillonnées. Toutes les entrées analogiques sont activés échantillonné toutes les 1ms, et stockées. Chaque fois un "A" paquet est reçu, la dernière valeur stockée pour les entrées analogiques est renvoyé dans un retour "A" paquet.
- Format: "Un <CR>"
- Exemple: "A"
- Retour de paquets: "A, 0145,1004,0000,0045" (le paquet de retour devrait ressembler à ceci s'il y avait 4 entrées analogiques activé avec la commande "C"). Il peut y avoir jusqu'à 12 entrées analogiques activé, et donc il pourrait y avoir 12 numéros entre 0 et 1023 après le "A",. Voir le tableau dans la commande "C" ci-dessus pour plus d'informations sur lesquelles les entrées analogiques correspondent à quelles broches. Les chiffres représentent la tension analogique sur chaque entrée analogique de 0V permis (0000) à 5V (1023). Le premier chiffre après le «A», est pour AN0, et le dernier numéro est pour le canal d'entrée analogique haute (ANX) qui est actuellement activé.
"MR" Command
- Le «MR» commande est synonyme de «mémoire morte».
- Format: "MR, <Adresse> <CR>"
- <Adresse>: Ceci est un nombre entre et y compris le 0 à 4095. Il est l'adresse dans la RAM de l'USB IO Conseil que vous souhaitez lire.
- Exemple: «Monsieur, 3968» (demande de l'USB IO Conseil pour lire la valeur dans le registre PORTA)
- Paquet de retour: «Monsieur, <Valeur>"
- <Valeur>: Ceci est un nombre entre et y compris le 0 à 255. Elle est le résultat de la lecture <Adresse>.
- Paquet de retour Exemple: "MR 28"
"MW" Command
- Le "MW" Command signifie «écrire la mémoire».
- Format: "MR, <Adresse>, <Valeur> <CR>"
- <Adresse>: Ceci est un nombre entre et y compris le 0 à 4095. Il est l'adresse dans la RAM de l'USB IO Conseil que vous souhaitez écrire dans.
- <Valeur>: Ceci est un nombre entre et y compris le 0 à 255. C'est la valeur que vous souhaitez écrire dans <Adresse>.
- Exemple: «MW, 3968,56" (demande à l'USB IO Conseil pour écrire la valeur 56 dans le registre PORTA)
- Retour de paquets: "OK"
- REMARQUE: Cette commande peut être extrêmement dangereux, sauf si vous lisez la fiche PIC et comprendre ce que vous faites. Avec cette commande, vous avez la possibilité d'écrire sur l'ensemble de la RAM actuelle dans le conseil USB IO - y compris toutes les variables que le firmware est à l'aide, et l'ensemble des fonctions spéciales dans les registres du PIC. Il peut être une chose très pratique, mais c'est à utiliser avec prudence.
"PD" Command
- Le "PD" commande signifie "Direction Pin". Il vous permet de définir la direction sur un seul pin à la fois. (Entrée ou sortie)
- Format: "PD, <Port>, <PIN>, <direction> <CR>"
- <Port>: C'est le caractère "A", "B", ou "C" selon lesquelles le port que vous voulez modifier.
- <PIN>: Ceci est un nombre entre et y compris le 0 à 7. Il indique quel broches dans le port que vous voulez changer la direction de suite.
- <direction>: C'est soit "0" ou "1", pour la sortie (0) ou d'entrée (1).
- Exemple: «PD, B, 2,1" - Ce serait le changement le port B, broche 2 à une entrée.
- Retour de paquets: "OK"
"PI" Command
- Le "PI" commande est synonyme de "saisie du code PIN". Il vous permet de lire l'état de seulement une broche à la fois. (Haute ou basse)
- Format: "PI, <Port>, <PIN> <CR>"
- <Port>: C'est le caractère "A", "B", ou "C" selon lesquelles le port que vous voulez modifier.
- <PIN>: Ceci est un nombre entre et y compris le 0 à 7. Il indique quel broches dans le port que vous voulez changer la direction de suite.
- Exemple: «PI, C, 6" - Ce serait lire l'état du port C broche 6.
- Paquet de retour: «PI, <Valeur>"
- <Valeur>: C'est soit une haute (1) ou une faible (0) en fonction de la tension sur la broche au moment où elle a été lue.
- Paquet de retour Exemple: «PI, 1" (signifie que l'axe a été élevé.)
"PO" Command
- Le «PO» est synonyme de la commande "Sortie Pin". Il vous permet de définir la valeur de sortie (si elle est actuellement fixé à une sortie) sur une seule tige à la fois. (Haute ou basse)
- Format: "PO, <Port>, <PIN>, <Valeur> <CR>"
- <Port>: C'est le caractère "A", "B", ou "C" selon lesquelles le port que vous souhaitez définir.
- <PIN>: Ceci est un nombre entre et y compris le 0 à 7. Il indique quel broches dans le port pour lequel vous souhaitez définir l'état.
- <Valeur>: C'est soit "0" ou "1", pour Low (0) ou haute (1).
- Exemple: «PD, A, 3,0" - Ce serait faire de Port Une broche 3 faible.
- Retour de paquets: "OK"
"CU" Command
- Le «CU» est synonyme de la commande "Configurer USB conseil IO". Il est conçu pour être une commande générique pour remettre les choses qui affectent le fonctionnement général de l'Office USB IO.
- Format: "CU, <Paramètre>, <Valeur> <CR>"
- <Paramètre>: Ceci est une valeur 8 bits non signé, représentant le nombre de paramètres que vous souhaitez modifier. (Voir tableau ci-dessous)
- <Valeur>: C'est une valeur qui est signifiant dépend du nombre <Paramètre> choisi.
- Exemple: «CU, 1,0" - Ce serait désactiver l'envoi de la touche "OK" paquets après chaque commande.
- Retour de paquets: "OK"
<Paramètre> | <Valeur> | Sens <Valeur> | 1 | 0 ou 1 | 0 = Désactiver le "OK" paquets 1 tour = sur "OK" paquets (par défaut) |
"RC" Command
- La "RC" est synonyme de la commande "Sortie servo RC". Il transformera n'importe quel axe dans une sortie de servo RC, si cette broche est déjà configuré comme une sortie numérique.
- Format: "RC, <Port>, <PIN>, <Valeur> <CR>"
- <Port>: C'est le caractère "A", "B", ou "C" selon lesquelles le port que vous souhaitez définir.
- <PIN>: Ceci est un nombre entre et y compris le 0 à 7. Il indique quel broches dans le port pour lequel vous souhaitez définir l'état. Notez que certaines broches ne sortent pas de la puce (ER6, RA7, RC3, RC4 et RC5), et certaines broches ne sont pas accessibles via têtes sur IO Board (RC0, RC1, RC2). Vous pouvez toujours définir sorties RC sur ces broches, mais les inexistante sera simplement ignorée par le code RC, et si vous définissez sorties RC sur RC0, RC1 ou RC2, vous pouvez voir des résultats intéressants (depuis RC0 et RC1 ont LEDs sur eux).
- <Valeur>: Ceci est une valeur comprise entre 0 et 11890.
- Un <Valeur> de 0 (zéro) tournera la sortie RC (pour que la broche) complètement éteint. Un <Valeur> de 1 provoquera une impulsion de 1ms haut sur la broche. Un <Valeur> des 11890 provoquera une impulsion 2ms haut sur la broche. Toute inbetween <Valeur> 1 et 11890 provoquera une impulsion à haute dont la durée est proportionnellement entre 1ms et 2ms. Ces impulsions répéter tous les 19ms.
- Exemple: "RC, B, 3,5945" - Si PortB broche 3 était déjà une sortie, il y aurait alors une 1.5ms (ce qui est «centre» d'une servo RC) d'impulsions haute sortant de la broche 3 PortB tous les 19ms.
- Retour de paquets: "OK"
- Note: Cette commande vous permet d'avoir jusqu'à 16 sorties indépendantes servomoteurs.
Commandes de sortie binaire Le "BC", "BO" et "BS" ordonne à tous de travailler ensemble pour permettre une production à haute vitesse parallèle à un périphérique matériel, comme un écran LCD ou d'autres verrouillé 8-bits d'interface parallèle. L'idée de base est de prendre un octet, l'écrire au PORTB, mis un peu stroboscopique sur Porta, attendez un peu, puis désactivez le bit stroboscopique sur Porta, puis d'attendre un peu occupé pour aller haut (ou bas) sur Porta, puis attendez que le peu occupé pour aller basse (ou élevée) sur Porta puis répétez l'opération pour autant d'octets qu'il ya à envoyer PortB. Alors PortB est utilisée comme sortie vers le bus parallèle et deux bits sur Porta sont utilisés comme un peu stroboscopique (sortie) et un peu occupé (entrée). La commande BC met en place tous les paramètres, puis le flux de BO ou BS commandes les données hors PortB. Avant ce régime sera très réussie, assurez-vous de positionner les bits direction sur PortB et Porta correctement.
"BC" Command
- Le «BC» est synonyme de la commande "Configurer vrac". Il vous permet de configurer les options pour les commandes de BO et BS.
- Format: "Colombie-Britannique, <init>, <WaitMask>, <WaitDelay>, <StrobeMask>, <StrobeDelay>, <CR>"
- <init>: Ceci est la valeur initiale écrite à Porta.
- <WaitMask>: Chaque bit est défini dans ce masque indique un "occupé" peu de retour de l'écran LCD (ou tout autre matériel). Cette valeur est utilisée uniquement si <WaitDelay> n'est pas nul.
- <WaitDelay>: Le <WaitDelay> est le montant maximum de temps à attendre le bit occupé à devenir affirmé, puis de devenir dé-affirmés. Si <WaitDelay> expire, alors l'octet suivant est juste envoyé. <WaitDelay> Est en unités d'environ 400ns.
- <StrobeMask>: Chaque bit est réglé dans ce masque indique les bits stroboscopique qui doivent être inversé après l'octet est écrit PortB. Lorsque <StrobeDelay> est terminée, la valeur initiale (<init>) est repris de Porta.
- <StrobeDelay>: La longueur du temps que les bits stroboscopique (à partir <StrobeMask>) sont inversés par rapport aux valeurs initiales. <StrobeDelay> Est en unités d'environ 830ns.
- Exemple: «BC, 1,1,1,1,1»
- Retour de paquets: "OK"
"BO" Command
- Le "BO" commande signifie "sortie en vrac". Il utilise les paramètres de la commande BC et sorties octets à PortB. Bits de PortA sont utilisés comme bits de contrôle, avec au moins une est utilisée comme sortie de stroboscope (ce qui indique que un nouvel octet est présent sur PortB) et un bit PortA optionnel utilisé comme "occupé" d'entrée pour éviter l'octet suivant d'être envoyé avant que le récepteur est capable de le traiter.
- Format: "BO, <ASCII_HEX_Bytes> <CR>"
- <ASCII_HEX_Bytes>: Ce groupe de personnages sont la représentation hexadécimale de l'octet que vous whish d'envoyer PortB. Par exemple, si vous vouliez envoyer 3 octets, des valeurs de 0x55, 0x21 0xA7 et, vous pouvez utiliser "BO, 55A721» en tant que votre commande. La longueur totale de cette commande ne doit pas être plus de 63 octets, donc plus à vous pouvez emballer 30 octets de caractères ASCII hexadécimal dans cette commande.
- La façon dont les octets sont envoyés par PortB est d'utiliser le WaitMask, WaitDelay, StrobeMask, StrobeDelay et les valeurs d'initialisation de la commande BC-dessus. Lorsque la commande est acceptée en Colombie-Britannique, Porta sera initialisé à la valeur du paramètre <init>. Notez que vous devez avoir déjà mis en place PortB comme sorties et ont le sens de chaque bit à Porta mis en place en fonction de ce dont vous avez besoin. Quand il est temps de sortir un octet (avec la BO ou des commandes BS), la chaîne des événements est la suivante:
- L'octet est sortie sur PortB.
- Les bits qui sont élevés dans les <StrobeMask> sont inversées sur Porta.
- Un retard est exécuté pour des unités <StrobeDelay> (chaque unité est d'environ 830ns)
- La Porta est ensuite retourné à la valeur <init>.
- Si <WaitDelay> est supérieur à zéro,
- Attendre (jusqu'à <WaitDelay> unités) pour le peu occupé pour devenir l'état où il se trouve dans <init>
- Attendre (jusqu'à <WaitDelay> unités) pour le bit occupé à devenir l'inverse de ce qu'il est dans <init>
- Répéter
- Exemple: "BO, 55A721»
- Retour de paquets: "OK"
"BS" Command NOTE: (18/09/08) Greg Corson a signalé un bogue sérieux dans cette commande dans le firmware 1.4.3 D. Si vous envoyez des <CR> ou octets <LF> dans la section des données binaires d'entre eux commandement, ils sont mangés par les fuctions traitement des commandes, et ne pas le faire passer pour les broches d'E / S! Ce sera corrigé dans une future version.
- Le «BS» est synonyme de la commande "Stream en vrac". Il utilise les paramètres de la commande et la Colombie-Britannique octets flux binaires brutes à PORTB, tout comme le "BO" commande ne.
- Format: "Colombie-Britannique, <ByteCount>, <BinaryStreamOfBytes> <CR>"
- <ByteCount>: C'est le nombre d'octets dans <BinaryStreamOfBytes>. Il doit être un nombre exact, parce que cette façon dont le son USB IO Conseil sait quand la fin de <BinaryStreamOfBytes> et quand commencer à chercher le <CR>. La gamme de valeurs acceptables pour <ByteCount> sont de 1 à 56 inclusivement.
- <BinaryStreamOfBytes>: Doit être exactement <BinaryStreamOfBytes> octets de long. Ce flux est le _binaire_ (non ASCII) octets que vous voulez envoyer PortB. En d'autres termes, si vous vouliez envoyer trois octets qui est des valeurs sont 0x23, 0x49 et 0x6A puis les trois octets dans <BinaryStreamOfBytes> serait "# Ij" et <ByteCount> serait 3. Notez que depuis que cela est binaire pur, il ne souffre pas de l'utilisation de bande passante plus faible que le "BO" commande a (où chaque octet à la sortie est représenté par deux octets HEX ASCII dans la chaîne de commandement). Mais il est aussi plus difficile à utiliser parce que beaucoup de personnages à l'intérieur du flux binaire ne sont pas imprimables, et / ou sont difficiles à produire avec un émulateur de terminal.
- Exemple: "BS, 3, # Ij"
- Retour de paquets: "OK"
En utilisant USB IO Conseil sous Linux / Ubuntu
|
Aucun commentaire:
Enregistrer un commentaire