( Prog C )Probleme Afficheur Lcd 2x16

Probleme Afficheur Lcd 2x16 ( Prog C ) - C - Programmation

Marsh Posté le 10-08-2009 à 21:43:22    

Bonjour,
 
Je débute en programmation PIC en C. Pour l'instant j'aimerais juste d'afficher un mot (par exemple "Toto" ) sur un afficheur lcd 2X16 caractères en mode 4 bits à l'aide d'un µC 18F4620 et d'une platine "EasyPIC5" en langage C.
Vous me direz rien de plus simple :) ben pas pour moi ... je n'y arrive pas  :pfff:  rien ne s'affiche à part une ligne noir (je sais je suis vraiment nul :( )
 
Voici mon code, j'espère que quelqu'un pourra m'aider ...
 

Code :
  1. char *text = "toto";
  2. void main()
  3. {
  4. TRISB = 0b00000000;
  5.   Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0);
  6.   LCD_Cmd(LCD_CLEAR);
  7.   LCD_Cmd(LCD_CURSOR_OFF);
  8.   LCD_Out(1,1, text);
  9. }


 
 
D'avance un grand merci  :jap:  
Et bonne soirée.


---------------
Il vaut mieux se taire et passer pour un con plutôt que de parler et ne laisser aucun doute à ce sujet.
Reply

Marsh Posté le 10-08-2009 à 21:43:22   

Reply

Marsh Posté le 11-08-2009 à 07:33:50    

snif :( personne ...
pas si simple tout compte fait :p

Reply

Marsh Posté le 11-08-2009 à 08:12:03    

MaRs31nko a écrit :

snif :( personne ...
pas si simple tout compte fait :p


Mouais, en même temps, ton topic n'a été lu qu'une vingtaine de fois, faut pas trop en demander non plus  ;)  
 
J'y connais pas grand chose en programmation pour PIC mais y'a quelques pistes à examiner.
 
Déjà, ta variable "text" a vraiment besoin d'être globale ? Pour ce que tu en fais, moi je l'aurais directement déclarée à l'intérieur de ton "main". Mais ça devrait pas changer grand chose à ton erreur.
 
Ensuite, tu devrais essayer d'afficher une chaine de caractère directement en dur, plutôt que de passer une variable : "LCD_Out(1, 1, "toto" );". Au moins, tu sauras si le problème vient de là ou pas (et c'est un réflexe général à adopter en programmation : en cas d'erreur, toujours chercher à simplifier le code pour réduire le nombre de paramètres potentiellement foireux). Si ça s'affiche toujours pas, tu sauras que ta variable est hors de cause.
A ce moment-là, je me pencherai plus particulièrement sur l'initialisation de ton écran (tes "TRISB" et "Lcd_Config" ), notamment leur syntaxe. Mais là, je peux malheureusement pas t'aider.


---------------
If you think it could look good, then I guess it should
Reply

Marsh Posté le 11-08-2009 à 09:45:42    

essaye avec char text[] = "toto";
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed