La table USB IO PIC18F2455 / PIC18F2550


USB IO Conseil PIC18F2455 / PIC18F2550 

Traduit avec google ,page d'origine : ici
USB IO Liste des composants:
1x PIC18F2455 / PIC18F2550 microcontrôleur programmé (MCU)
1x USB connecteur de type B
1x 20MHz Résonateur Cristal
2x 10K Résistance (brun, noir, orange d'or)
1x 470 Résistance (jaune brun pourpre d'or)
1x condensateur 470nF céramique
1x condensateur 100nF céramique



Spécifications techniques: 

Tension d'alimentation: 5V (alimenté par USB)
Consommation de courant: 5mA

Broches E / S: 16



À propos PIC18F2455 / USB PIC18F2550 IO Conseil

USB Input / Output Board est un conseil de développement spectaculaire de petits / remplacement port parallèle avec PIC18F2455 / PIC18F2550 microcontrôleur. USB IO Conseil est compatibile avec Windows / Mac OSX / Linux ordinateurs. Lorsqu'il est fixé à Windows IO Conseil apparaîtront comme port COM RS232. Vous pouvez contrôler 16 microcontrôleur individuels broches E / S en envoyant de simples commandes de série. USB Entrée / Sortie est auto-alimenté par le port USB et peut fournir jusqu'à 500 mA pour des projets électroniques. USB IO Conseil est breadboard compatibles. Simplement souder inclus à 12 broches et 8 broches têtes sur le bas côté de la carte et la carte peut être branché sur une planche à pain pour le prototypage rapide.


Ce sont des exemples de ce qui peut être construit en utilisant USB IO Conseil
Relais USB Controller (allumer / éteindre les lumières ou les appareils dans la maison)
LED de contrôle, les jouets, gadgets électroniques, de contrôle sans fil, etc
LCD USB Controller
USB Volt / Ampère / Puissance compteur
USB Controller CNC
USB Data Logger
USB température du compteur / Enregistreur
Contrôleur USB Thermostat
USB hygromètre / Enregistreur
USB contrôleur de moteur
Contrôleur USB Servo RC
Compte à rebours USB avec relais

USB IO Conseil schématique


USB IO Conseil schématique

USB IO Conseil PCB


USB IO Conseil PIC18F2455 / PIC18F2550

USB IO Conseil

USB Controller IO Conseil PCB 

USB IO Conseil PIC18F2455 / PIC18F2550

USB IO Conseil

USB Controller IO Conseil PCB

R1, R2 10K résistance
C1 470nF condensateur
C2 100nF condensateur
5-PIN-tête sur la gauche est un connecteur ICSP  pour le téléchargement de versions du microprogramme avenir.



Connecteur USB
USB connecteur de type BUSB de type B Brochage Connextor 

Quick Start

1) Télécharger USB IO pilotes conseil et décompressez-le.

2) Connecter USB IO Conseil à un ordinateur via un câble USB standard.

3) Windows vous demandera si vous voulez installer un pilote. Pointez-pilotes dont vous avez décompressé.
Windows 2000 / XP
Sous Windows 2000 ou XP, vous serez invité à deux reprises d'installer deux pilotes. Sur la première invite s'il vous plaît consulter et pointez sur le dossier du pilote MCHPUSB. Sur la deuxième demande s'il vous plaît consulter et pointez sur le dossier du pilote USB CDC.
Windows 7 / Vista
Sous Windows 7 ou Vista, vous pourriez être uniquement invité une fois pour installer USB CDC pilote si le pilote MCHPUSB est déjà installé.

4) Une fois les pilotes sont installés allez dans le gestionnaire de périphériques (clic droit sur Poste de travail et cliquez sur Propriétés-> Matériel-> Gestionnaire de périphériques), et regardez sous les Ports (COM et LPT) de l'article, et vous devriez voir un nouveau port série là-bas. Notez le numéro de port COM.

5) Ouvrez votre émulateur préféré de série; l'HyperTerminal que vraiment terrible livré avec Windows, ou mon préféré USB Controller IO Conseil qui peut être téléchargé ici .

6) Après le lancement USB Controller IO Conseil sélectionner le port COM dans la liste déroulante de se connecter à la carte, de type «V» dans la zone de saisie et appuyez sur Entrée ou cliquez sur le bouton "Envoyer". Vous devriez récupérer un numéro de version du firmware du PIC18F2455 / PIC18F2550 puce. Cela prouve que l'USB IO Conseil fonctionne correctement. Maintenant vous êtes prêt à apprendre sur les commandes qui peuvent être utilisés pour contrôler USB IO Conseil.


USB Controller IO Conseil
USB IO Conseil peut être contrôlé avec n'importe quel programme l'émulation du port série tels que Hyper Terminal qui vient avec tous les OS Windows. Le problème avec Hyper Terminal, c'est que vous ne pouvez pas voir les commandes que vous les tapez et qui pourrait être très ennuyeux. Avec Hyper Terminal vous devez aussi passer par l'assistant de création d'une connexion par port série, et si les changements de port COM on est quasiment obligé de le faire encore et encore.

Heureusement, nous avons notre propre application provoque la chute petits appelée USB IO carte contrôleur qui est tellement plus facile et amusant à utiliser que Hyper Terminal. Cela ne prend que 25 Ko d'espace donc c'est très léger. USB Controller IO Conseil va aussi vous montrer le port COM de l'USB IO Conseil afin que vous épargnera le voyage (et heure) au Gestionnaire de périphériques pour trouver USB IO Conseil numéro de port COM.

Pour utiliser un port USB Controller IO Conseil sélectionner le port COM à partir de la liste déroulante, tapez la commande et appuyez sur "Enter" (ou cliquez sur le bouton Envoyer). Chaque commande renvoie "OK" message à reconnoitre que la commande a été reçue et traitée avec succès.

USB Controller IO Conseil

 
Télécharger USB IO Controller Board (Win 2K, XP, Vista, Win7)

Remarque: Si vous essayez d'exécuter USB IO Conseil contrôleur et il ne fonctionne pas, vous devrez télécharger et installer
. NET Framework à partir du site Web de Microsoft.
Test USB IO Conseil

Permet de lancer quelques commandes d'exemple pour voir comment il est facile de tourner à LED ON / OFF.
Connectez LED pour microcontrôleur; jambe plus longue à PIN28 (RB7), jambe plus courte à la masse (GND) via une résistance 470 Ohms. Maintenant, pour clignotants à DEL ON et OFF tapez ces commandes via un port USB IO carte contrôleur. N'oubliez pas d'appuyer touche "Entrée" après chaque commande est entrée. Configurer le port A, B et C comme des sorties:
C, 0,0,0,0

Tournez à DEL SUR (+5 V):
PO, B, 7,1

Tournez à LED OFF (0V):
PO, B, 7,0


Commandes


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
  • Retour de paquets: "OK"
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
    Voici comment faire pour le contrôle USB IO Conseil sous Linux Ubuntu.
    Étape 1: Branchez USB IO Conseil. Il devrait apparaître dans / dev/ttyACM0 ou / dev/ttyACM1 - allez jeter un oeil.
    Étape 2: Créer un lien symbolique de / dev/ttyS3 d'/ dev/ttyACM0 afin gtkterm peut lui parler.
    Étape 3: Exécuter jusqu'à gtkterm, connectez / dev/ttyS3, de type «V» sans les guillemets et appuyez sur ENTRER. Vous devriez récupérer la version du firmware et cela prouve que tout fonctionne bien.

    Commande USB IO Conseil à distance sur Internet en utilisant PHP sous Linux Ubuntu:
    <? Php

    include "php_serial.class.php»;
    / / On commence la classe
    $ Serial = new phpSerial;
    / / Nous devons d'abord spécifier le périphérique. Cela fonctionne sur Linux et Windows (si
    / / Linux sur votre appareil de série est / dev/ttyS0 pour COM1, etc)
    $ Serial-> deviceSet ("/ dev/ttyS3");
    / / Ensuite nous avons besoin de l'ouvrir
    $ Serial-> deviceOpen ();
    / / Pour écrire dans
    $ Serial-> sendMessage ("V \ n");
    / / Ou de lire à partir
    $ Read = $ serial-> readPort ();
    echo "Sortie: \ n $ read \ n";
    / / Si vous voulez changer la configuration, le dispositif doit être fermé
    $ Serial-> deviceClose ();
    ?>

    Aucun commentaire:

    Enregistrer un commentaire