Page 1 sur 1
Probleme programme et lcd interaction boutons.
Publié : 23 févr. 2007 10:54
par Poisson
Code : Tout sélectionner
#include<mega163.h>
#include<delay.h>
#include<lcd_V3.h>
#include<INOUT.h>
void message_config()
{
lcd_clear();
lcd_putsf("Configuration ?");
}
void main()
{
double configun=0;
double configdeux=0;
lcd_init();
DDRA.1=0;
DDRA.3=0;
PORTA.1=0;
PORTA.3=0;
configun=PINA.1;
configdeux=PINA.3;
message_config();
if (configun == 1)
{
lcd_clear();
lcd_putsf("Ca marche 1");
}
else if (configdeux == 1)
{
lcd_clear();
lcd_putsf("Ca marche 2");
}
}
Nous essayons d'interagir avec 2 boutons sur l'écran lcd pour que quand on appuie sur le premier il affiche "ca marche 1" et quand on appuie sur le deuxieme il marque " ca marche 2" mais cela ne fonctionne pas, pourriez vous nous aider?
Publié : 23 févr. 2007 16:19
par lamygale
Premiere question : est ce que vous réussissez à ecrire sur le LCD ?
Seconde question : Il manque pas un petit while(1){ je teste mes boutons } apres le message_config()
?
P.S. je ne connaissais pas le DDRA.1 = 0, ca remplace bien un DDRA = DDRA & 0xfe ?
Publié : 23 févr. 2007 16:50
par nanick
bonjour,
il manque éffectivement un while(1) pour scruter les bouton.
Je pense que c'est mieux de mettre porta.1=1 et porta.3=1 pour activer les résistances pull up internes.
COMME CI-DESSOUS voir aussi pour insèrer un delai;
Code : Tout sélectionner
PORTA.1=1.
PORTA.3=1.
while(1)
{
configun=PINA.1;
configdeux=PINA.3;
message_config();
if (configun == 1)
{
lcd_clear();
lcd_putsf("Ca marche 1");
}
else if (configdeux == 1)
{
lcd_clear();
lcd_putsf("Ca marche 2");
}
mettre ici un petit delai quand même
}
A+;
Publié : 16 mars 2007 9:03
par Poisson
Merci pour votre aide je vais essayer
Publié : 16 mars 2007 9:24
par Poisson
On arrive a ecrire sur le lcd oui mais avec les boutons ca ne fonctionne toujours pas qu'entendez vous "il manque éffectivement un while(1) pour scruter les bouton. "
merci
Publié : 16 mars 2007 10:22
par Poisson
Code : Tout sélectionner
#include<mega163.h>
#include<delay.h>
#include<lcd_V3.h>
#include<INOUT.h>
void message_config()
{
lcd_clear();
lcd_putsf("Configuration ?");
}
void main()
{
double configun=0;
double configdeux=0;
lcd_init();
DDRA.1=0;
DDRA.3=0;
configun=PINA.1;
configdeux=PINA.3;
PORTA.1=1;
PORTA.3=1;
message_config();
while(1)
{
configun=PINA.1;
configdeux=PINA.3;
if (configun == 0)
{
lcd_clear();
lcd_putsf("");
}
else if (configdeux == 0)
{
lcd_clear();
lcd_putsf("Config2");
}
}
}
Finalement ca marche en faisant comme ça, merci beaucoup