Bibliothèque C pour contrôleur d’afficheur LCD HD44780 (3 / 4 étapes)

Étape 3: Comment lire à partir de l’écran

readDDRAM.c

Cet affichage ne ressemble pas beaucoup, mais jetez un oeil à ce qui se passe réellement.
Tout d’abord, nous vous écrivons un texte à l’écran, puis nous réinitialiser la position de départ de l’AC, adresse Counter et lire les caractères qui ont été écrits.

Puis nous réécrire les personnages qui ont été lues à l’écran.

Regardons le code :

 #include #include "hd44780_4bit_lib.h" #include /* * This code example show how to read text from DDRAM, * in this example we will write some text to the display * then read the text and then write the read text * back to the display. */void main() { WDTCTL = WDTPW | WDTHOLD; // Disable watchdog timer uint8_t rtn = 0; uint8_t readStr[80]; uint8_t *pint; unsigned int cnt = 0; unsigned int charCnt = 0; // according to spec give the display 10ms to come up to voltage __delay_cycles(10000 * CPUSPEED); // set up data length, number of lines and font // notice we have setup the display for 2 lines // and using the 5 x 8 character size hd44780_init(N_2LINE, FONT_8); // turn display on and clear the display // and set cursor to home position 0x00 // hd44780_send_command(HD44780_CMD_DISPLAY_ON); // hd44780_send_command(HD44780_CMD_RETURN_HOME); // hd44780_send_command(HD44780_CMD_CLEAR_DISPLAY); hd44780_setCursorPosition(0, 0); hd44780_write_string("this"); hd44780_setCursorPosition(0, 0); pint = readStr; // reads characters from display while(1) { rtn = hd44780_readByte(); if (rtn == ' ') { break; } *pint = rtn; pint++; charCnt++; } // writes read characters back to display for(cnt = 0; cnt < charCnt; cnt++) { hd44780_write_special_char(readStr[cnt]); } hd44780_send_command(HD44780_CMD_RETURN_HOME); } 

Nous casser le code et voir ce qui se passe :

 uint8_t rtn = 0;uint8_t readStr[80]; uint8_t *pint; unsigned int cnt = 0; unsigned int charCnt = 0;// according to spec give the display 10ms to come up to voltage __delay_cycles(10000 * CPUSPEED);// set up data length, number of lines and font // notice we have setup the display for 2 lines // and using the 5 x 8 character size hd44780_init(N_2LINE, FONT_8); 

Tout d’abord, nous configurons désactivé certaines variables que nous pouvons utiliser lors de la lecture et l’écriture des personnages tirés de l’affichage.
Avis que nous mettons en place l’affichage de 2 lignes et motif de caractère de 5 x 8 points.

 hd44780_setCursorPosition(0, 0); hd44780_write_string("this"); hd44780_setCursorPosition(0, 0); pint = readStr; // reads characters from display while(1) { rtn = hd44780_readByte(); if (rtn == ' ') { break; } *pint = rtn; pint++; charCnt++; } 

Maintenant, nous avons mis la position du curseur, sur l’affichage à la ligne 0, colonne 0 et écrire le texte sur l’écran.
Nous configurons un pointeur vers le tableau readStr. Maintenant nous parcourir la DDRAM, saisissant un caractère à la fois et en plaçant le personnage dans le tableau.

Si l’autre a reçu le caractère ' ', nous supposons alors qu’il n’y a pas plus de caractères et nous quitter la boucle.

C’est juste un exemple, si vous vous attendez d’une suite de mots puis votre logique devront être un peu plus complexes, telles qu’une boucle à travers toute la gamme, une solution facile.

 // writes read characters back to display for(cnt = 0; cnt < charCnt; cnt++) { hd44780_write_special_char(readStr[cnt]); } hd44780_send_command(HD44780_CMD_RETURN_HOME); 

Étant donné que la position du curseur est suivie par l’AC, compteur d’adresse, notre curseur est déjà assis à l’endroit après le texte de lecture. Tout ce que nous avons à faire est lire les caractères du tableau et de les afficher à la fois de retour à l’affichage.

Articles Liés

Comment utiliser la bibliothèque SRIO pour Arduino

Comment utiliser la bibliothèque SRIO pour Arduino

avec SRIO Library, vous pouvez étendre votre Arduino d'e/s avec registre à décalage 4021 et 74HC595vous pouvez trouver ce tutrorial ici : http://www.e-licktronic.com/en/content/19-tutorial-library-sriohttp://www.e-licktronic.com/en/content/19-tutoria
Sticks personnalisé pour contrôleur sans prendre leur APART

Sticks personnalisé pour contrôleur sans prendre leur APART

facile de faire des Sticks pour les contrôleursÉtape 1: matériaux Ballons d'eauCiseauxContrôleur deEtape 2: Couper les ballons Couper les ballons un peu au-dessus de 2 1/2 cmÉtape 3: Ballon de diapositive sur le stick analogiqueÉtape 4: Profitez Tout
Comment faire pour créer un CD avec les titres de votre bibliothèque iTunes pour écouter dans votre voiture ?

Comment faire pour créer un CD avec les titres de votre bibliothèque iTunes pour écouter dans votre voiture ?

Si vous avez toujours voulu avoir un CD avec votre musique préférée depuis votre bibliothèque iTunes, donc vous pouvez facilement écouter pendant que vous êtes sur un long trajet avec votre voiture, par exemple, c'est la façon de le faire.Étape 1: Ou
Boîte de bibliothèque thread pour bobines maigres--Sulky, Gutermann, Mettler Metrosene (capacité : 175 bobines)

Boîte de bibliothèque thread pour bobines maigres--Sulky, Gutermann, Mettler Metrosene (capacité : 175 bobines)

cet organisateur de thread est supérieur à ce que vous pouvez trouver pré-faites, surtout si vous avez beaucoup des bobines de fil de style maigre.Pourquoi ?Il détient les bobines de fil à haute densité (capacité de 175 par boîte), mais alors que les
Boîte pour contrôleur CNC début

Boîte pour contrôleur CNC début

Liste de matériel :1 laser coupe 6mm acrylique X12.M6 * 15 vis X83.2020R en aluminium X44. 5V Fan X15 interrupteur X26.12V module LED X27. début CNC Controller X1 (acheter chez Alliance bricolage LX)Etape 1: assembler
1 fil contrôleur LCD pour Arduino

1 fil contrôleur LCD pour Arduino

Alors qu'il travaillait sur un projet de ATtiny que j'ai trouvé je manquait le nombre requis de pins et besoin de fixer un écran LCD avec juste 1 filJ'avais trouvé une Instructable sur comment utiliser un registre à décalage pour contrôler l'écran LC
Contrôleur de température Heatbed pour RepRap en utilisant Gen6

Contrôleur de température Heatbed pour RepRap en utilisant Gen6

Merci de vérifier ce petit mode d'emploi de toutes sortes sur ! Je veux juste obtenir ce quelques choses de la route :-Pied, il s'agit en aucune façon une fin tout, soyez tous ! Je n'a pas pris de photos pendant le tournage du, mais c'est très simple
Installation de Grove bibliothèque pour Intel Edison

Installation de Grove bibliothèque pour Intel Edison

Cette instructable va vous apprendre comment faire pour installer la bibliothèque Grove et exécutez base démos pour le bosquet de kit de démarrage plus gen 2 sur la plateforme Intel Edison.Le matériel suivant est nécessaire pour cela instructable :(1
Arduino TFT affichage et polices de la bibliothèque

Arduino TFT affichage et polices de la bibliothèque

Je suis assez fan de l'Arduino comme il y a tellement logiciels déjà disponibles sur l'internet, ce qui rend remplir plus facilement de nouveaux projets !Récemment j'ai acheté quelques écrans TFT 1.8" à bas prix pour un projet, au début je ne pouvais
Construire votre propre contrôleur (bon marché!) multifonctions sans fil caméra.

Construire votre propre contrôleur (bon marché!) multifonctions sans fil caméra.

IntroductionJamais imaginé de construire votre propre contrôleur de caméra ?Remarque importante : Les condensateurs pour le MAX619 sont 470n ou 0.47u.  Le schéma est correct, mais la liste des composants a été mal - mise à jour.Il s'agit d'une entrée
Contrôleur de piscine personnalisé - Arduino et Raspberry Pi

Contrôleur de piscine personnalisé - Arduino et Raspberry Pi

nous avons acheté une maison avec une piscine. Les deux premières semaines, que nous avons fait plusieurs erreurs coûteuses, y compris l'utilisation de l'appareil de chauffage pour chauffer toute la piscine plus de 90 degrés. Je pense que nous avons
Automatisé contrôleur aveugle Horizontal motorisé solaire

Automatisé contrôleur aveugle Horizontal motorisé solaire

J'ai commencé ce projet parce que nous avons certains stores horizontaux situés dans une fenêtre élevée au-dessus de la porte principale à notre maison. Cette fenêtre fait face au sud, et ici, dans le Colorado, qui signifie beaucoup de soleil. Il ser
En utilisant une RPi pour contrôler une LED RGB

En utilisant une RPi pour contrôler une LED RGB

Comme rahulkar mentionné dans son tutoriel, LED de contrôle semble être le « Hello World » de l'électronique. Il est facile de mettre en place, on apprend beaucoup sur le fonctionne électronique et en fin de compte, vous avez un chouette petit morcea
I2C LCD contrôleur partie II

I2C LCD contrôleur partie II

maintenant que nous avons installer et monter le contrôleur ici est un petit projet. Nous allons construire un thermomètre.Liste des pieces1. Arduino1. I2C LCD1. DHT11 Capteur de température1. 1 k résistance7. fils de raccordementÉtape 1 : Connexion