Un guide de démarrage complet pour rea (4 / 10 étapes)

Étape 4: USART comme un port série


L’USART périphérique qui vient avec plusieurs micros AVR est un port souple qui peut agir comme de nombreux protocoles différents.
Certains micros ont un UART qui bien que similaire, ne peut effectuer comme un port série standard.

Alors qu’il peut agir comme beaucoup de différents types de port série, nous allons utiliser comme un base port série, qui nous permettra d’utiliser plus facilement la radio XBee plus tard.
Vous pouvez également utiliser ce port série pour relier à un vieil ordinateur, ou via une puce FTDI pour vous donner une connexion USB-Serial vers un nouvel ordinateur.
Il s’agit en fait combien arduinos travailler, ils utilisent une puce FTDI pour fournir une connexion USB-Serial au microcontrôleur.

Pour cet exemple nous allons micros ATtimy2313 programme deux d’envoyer des personnages au fil de la série les uns aux autres.
Construire la maquette comme indiqué dans l’image.
Nous allons appeler la gauche micro A et la b de seconde.

Relier la broche 2 de A à la broche 3 de B.
Relier la broche 3 de A à la broche 2 de B.

Broche 2 est la RXD (réception) et broche 3 TXD (Transmit).

Branchez une LED à B sur la broche 11 (PD6) et un bouton sur A sur broche 19 (PB7).

Utiliser le code ci-joint pour programmer les deux circuits.
Régler l’horloge de chaque à 1MHz
Puce A décommenter cette ligne :
#define TRANSMIT
et commentez cette ligne :
#define recevoir

Sur puce B faire le contraire :
#define TRANSMIT
#define recevoir

Maintenant, lorsque vous appuyez sur A, B la LED s’allume !

Au début il ne semblerait pas très impressionnant, mais vous pouvez utiliser ceci pour parler à puces loin sur une radio XBee, ou à un ordinateur qui peut s’avérer utile pour aider à déboguer votre code.

Alors, comment ça marche ?
Permet d’observer les lignes intéressantes :

UBRRH = 0 ;
UBRRL = 12 ;

Jetez un oeil dans la fiche technique du Registre UBRR.
Il s’agit d’un 12 bits enregistrer, afin que le 2313 est une micro 8-bit, c’est scindée en deux octets, hautes (UBRRH) et faible (UBRRL).
Le registre aigu n’est pas un registre complet, avec la moitié supérieure (4 bits) réservés (pas utilisé, mais ne devrait pas être touché par souci de compatibilité future).

Si vous faites défiler la page suivante, vous verrez un tableau pratique des vitesses différentes selon l’horloge de votre micro.
Pour cet exemple, nous voulons 9600 bauds (utile plus tard pour le XBee).
En regardant le tableau pour 1MHz, nous obtenons une valeur de 6 pour le UBRR.
Toutefois, il a un -7 % taux d’erreur, qui est un peu trop élevé.
Mais si vous examinez une colonne il y a un taux d’erreur de 0,2 %.
Ce qui est différent ?
L’indicateur U2X est défini, et le UBRR a la valeur 12.

Nous utiliserons qu’et définissez l’indicateur U2X.
Ensuite, nous avons différents paramètres à configurer :
UCSRA = (1 << U2X) ;
UCSRB = (1 << RXEN) | (1 << TXEN) ;
UCSRC = (1 << UCSZ1) | (1 << UCSZ0) ;

Ces 3 registres sont décrites dans la fiche technique donc nous nous pencherons sur eux que brièvement.
U2X est décrit comme « double la vitesse de transmission UART »
RXEN raconte l’USART pour activer le mode de réception et TXEN doit permettre de transmettre
UCSZ1 & UCSZ0 sont définis par le tableau de la page 133, réglage de la taille de caractère en 8-bits.

Ensuite, du côté de l’émission, nous avons cette ligne de code :
tandis que (! () UCSRA & (1 << UDRE))) ;
Ceci vérifie le bit « USART données Registre vide » du « contrôle de l’USART et statut Registre A ».
Lorsqu’elle est définie à 1, la boucle s’arrête et peut exécuter la ligne de code suivante :
UDR = « F » ;

C’est en passant dans le caractère « F » pour le tampon d’émission, ceci peut uniquement être écrites lorsqu’il est clair, c’est pourquoi nous avons la boucle d’attente devant elle.

Côté réception, c’est tout :
tandis que (! () UCSRA & (1 << RXC))) ;

Ici, nous attendons pour le tampon de réception est vide, et ensuite, nous lisons UDR pour voir quelle valeur il a :
Si (UDR == « F »)

Pourrais-je aussi facilement mettre cela dans une variable comme si :
char x = UDR ;

Il faut lire UDR pour le nettoyer, et vous pouvez le lire seulement une fois (après lequel il efface et permet un nouveau personnage dans), donc si la valeur est importante pour vous, assurez-vous que vous enregistrez une copie de la valeur sur la première lecture !

Maintenant, cet exemple est divisé en émission et réception, mais vous pouvez avoir les deux dans l’un, je voulais juste faire un exemple simple

Articles Liés

Guide du débutant complet pour les fichiers Raw et traitement Raw

Guide du débutant complet pour les fichiers Raw et traitement Raw

Une des premières choses que j'ai appris la photographie était sur un type de fichier connu comme un fichier Raw. Souvent quand une personne commence à la photographie, il ou elle n'est pas réaliser le potentiel des fichiers Raw. Dans un premier temp
Baileigh combinaison cisaillement frein Roll : Un Guide de démarrage rapide pour Pier 9

Baileigh combinaison cisaillement frein Roll : Un Guide de démarrage rapide pour Pier 9

La combinaison de Baileigh cisaillement/frein/rouleau se trouve à l'atelier de 9 Pier Autodesk dans l'atelier de métal. Si vous souhaitez travailler avec tôle au quai 9, cet outil est pour vous.L'outil Baileigh combinaison peut cisaille à tôle d'acie
Guide d’un Idiot complet pour rendre l’appareil de lumière LED planté Aquarium

Guide d’un Idiot complet pour rendre l’appareil de lumière LED planté Aquarium

Jetez un oeil à mon site Web pour plus de tutoriels et de poisson photos : www.playsofrays.comComme toujours, je vous écris cela pour les gens qui n'ont aucune expérience préalable avec LEDs, électriques et électronique fonctionne exactement comme j'
Guide de démarrage rapide pour 3Doodler 2.0

Guide de démarrage rapide pour 3Doodler 2.0

Étape 1: Faire connaissance avec le 3Doodler 2.0 Étape 2: Mettre en marche De l'allumer prise dedans et puis déplacez l'interrupteur à haute ou basse. (PLA/bois) lo (ABS, Flexy) hauteEtape 3: Attendez s'allument pour indiquer que c'est prêt Si vous l
Le Guide complet pour mettre sur une nouvelle ligne de pêche

Le Guide complet pour mettre sur une nouvelle ligne de pêche

Fait à l'extérieur de ressembler à ceci, ou pire encore ? Eh bien, pendant que vous attendez pour faire fondre et aller loin pourquoi ne pas Préparez-vous votre attirail de pêche pour le très attendu printemps.C'est le guide complet pour mettre sur u
Devenir un fabricant : le guide complet pour une photocopieuse entièrement fonctionnel : outils

Devenir un fabricant : le guide complet pour une photocopieuse entièrement fonctionnel : outils

Ce qui est un fabricant ? Un fabricant est un DIY'er, recycle et reuse'er et un artisan. Ils prennent whats pas et faire ce qui est Makers ont non seulement habilité, mais également comme la détermination de son projet. Que faut-il pour devenir un fa
Obtenir commencé avec le capteur sonar de Maxbotix - guide de démarrage rapide

Obtenir commencé avec le capteur sonar de Maxbotix - guide de démarrage rapide

The MaxSonar EZ1 fournit très courte à longue distance détection et télémétrie, dans un très petit paquet. Il peut détecter des objets allant de 0-pouces à pouces 254 (6,45 mètres) et fournit des informations de gamme de sonar de 6 pouces sur à 254 p
Mannequin de Linkit un Guide de démarrage

Mannequin de Linkit un Guide de démarrage

Depuis que j'ai reçu mon promotionnel Linkit une planche, j'ai été jouer avec elle pour le faire travailler et d'étudier ses différentes fonctionnalités. Dans un premier temps, que j'ai décidé de publier mon premier ible en utilisant le Linkit One d'
Guide de démarrage rapide : Print3d Mart

Guide de démarrage rapide : Print3d Mart

Il s'agit d'un guide simple mais complet pour configurer votre compte pour vous lever et courir sur Print3d Mart !Étape 1: Inscrivez-vous et créez un compte gratuitLa toute première chose que vous devez faire est de créer un compte gratuit. Aller à P
Android - le guide complet pour le déplacement installé apps utilisant ADB et emplacement d’installation de changer la valeur par défaut

Android - le guide complet pour le déplacement installé apps utilisant ADB et emplacement d’installation de changer la valeur par défaut

AVERTISSEMENT :Je ne peux pas dire si les méthodes expliquées fonctionnera sur tous les appareils, si boubt il faudra un dispositif enraciné et les accès root via ADB.Il y a toujours une chance que cela ne fonctionnera pas, donc faire une première sa
Etiquette de polymère de lithium : Un Guide complet pour travailler avec LiPo

Etiquette de polymère de lithium : Un Guide complet pour travailler avec LiPo

ce Instructable j'irai sur les bases du bon remplissage, déchargement, manutention, utilisation, stockage et le soin des batteries lithium-polymère donc vous pouvez les utiliser en toute sécurité et efficacement dans vos projets futurs.  Maintenant,
Guide de démarrage un Edison complet Intel se

Guide de démarrage un Edison complet Intel se

J'ai récemment acquis un IoT Intel Developer Kit, dans le cadre d'une campagne Instructable. Je suis familier avec certains modèles de traitement intégré et microcontrôleur environnements tels que l'Arduino, mais j'ai trouvé se lever et courir avec l
Un Guide complet pour l’Airsoft

Un Guide complet pour l’Airsoft

je jouent Airsoft depuis environ 2 ans maintenant et je suis accro à ce sport. Et oui, il est considéré comme un sport ! Pas assez de gens considèrent comme un, donc je veux garder ça va, vous savez. J'aime Airsoft parce qu'elle est compétitive, il p
Le Guide complet pour vivre en bonne santé, heureux et coffre-fort

Le Guide complet pour vivre en bonne santé, heureux et coffre-fort

Psst, vous pouvez garder un secret ? Si vous le pouvez, je vais vous dire le secret pour perdre du poids, obtenir en bonne santé et mener une vie longue et prospère. L'industrie du régime et d'exercice aux Etats-Unis est une affaire de plusieurs mill