Probléme interruption GLCD128x64

  • Auteur de la discussion waoulmrewa
  • Date de début

waoulmrewa

Nouveau membre
Salut a tous,j'ai réalise un projet a laide d'un pi18F4620 et un afficheur graphic 128x64 et deux boutons d'interruption et horloge PCF8583.au début j'ai l'affichage de 4 capteur,lorsque je clique sur le bouton selection(RB0)j'appelle la fonction de sélection du chaque capteur.au deuxième lieu lorsque je clique sur le bouton validation j'appelle la fonction EX1 qui m'affiche le courbe de chaque capteur sélectionné et la date et l'heure mais il n'y a rien.j'ai un problème lors de simulation il m'affiche seulement les 3 capteurs et les boutons des interruptions ne fonctionnent pas.svp je besoin d'aide Merci.

Code C:
#include<18F4620.h>
#use delay(clock=8M)
#use rs232(UART)
#include<CE_GLCD.c>
#include<graphics.c>
#include<24512.c>
#include<PCF8583.c>


char capt1[]="Capteur1";
char capt2[]="Capteur2";
char capt3[]="Capteur3";
char text[]="T1";

char text2[]="50";

char text1[]="25";
char text0[]="0";

char toPrint[4];
char weekday[10];
date_time_t dt;



int bp=0;
int16 adr;
int i;
int j=0;

void lecture_htr(){



PCF8583_read_datetime(&dt);

strcpy(weekday,weekday_names[dt.weekday]);
/*
displayInt8(64,0, dt.day);
displayInt8(76,0, dt.month);
displayInt8(88,0, dt.year);
displayInt8(64,8, dt.hours);
displayInt8(76,8, dt.minutes);
displayInt8(88,8, dt.seconds);*/

sprintf(toPrint,"%02d/",dt.day);
glcd_text57(10, 56, toPrint,1,ON);

sprintf(toPrint,"%02d/",dt.month);
glcd_text57(28,56, toPrint,1,ON);


sprintf(toPrint,"%d",dt.year);
glcd_text57(45,56, toPrint,1,ON);
****************************** ***************
sprintf(toPrint,"%d:",dt.hours );
glcd_text57(74,56, toPrint,1,ON);

sprintf(toPrint,"%d",dt.minute s);
glcd_text57(90,56, toPrint,1,ON);

}

}

#int_EXT
void spi1(){

if(bp==3)
bp=0;

if(input_state(pin_B0)==0)
bp++;
if(bp==1){
glcd_rect(0, 0,51,10,NO,ON);
glcd_rect(0,11,51,20,NO,OFF);
glcd_rect(0,22,51,30,NO,OFF);
}
else if(bp==2){
glcd_rect(0, 0,51,10,NO,OFF);
glcd_rect(0,11,51,20,NO,ON);
glcd_rect(0,22,51,30,NO,OFF);


}
else if(bp==3){
glcd_rect(0, 0,51,10,NO,OFF);
glcd_rect(0,11,51,20,NO,OFF);
glcd_rect(0,22,51,30,NO,ON);


}
}
#int_EXT1
void spi2(){
lecture_htr();
if(bp==1){

glcd_fillScreen(OFF);
//code courbe capteur1





}

else if(bp==2){
glcd_fillScreen(OFF);
//code courbe capteur2
}
else if(bp==3){
glcd_fillScreen(OFF);
//code courbe capteur3
}



}


void main(){

set_tris_d(00);


glcd_init(ON);
init_ext_eeprom();


glcd_text57(3,2,capt1,1,ON) ;
glcd_text57(3,12,capt2,1,ON) ;
glcd_text57(3,23,capt3,1,ON) ;

while(true){




port_b_pullups(true);
ext_int_edge(0,H_TO_L);
ext_int_edge(1,H_TO_L);
enable_interrupts(int_EXT);
enable_interrupts(int_EXT1);
enable_interrupts(GLOBAL);
}

}
Vous devez être connecté pour voir les images.
 

zeb

Modérateur
Bonjour waoulmrewa. Et bienvenue.

L'utilisation de ce forum est cautionné par l'acceptation et le respect du règlement. La partie programmation est encore plus règlementée. Toute pièce de code doit être présentée à l'aide de la balise
Code:
.

Merci de lire, de respecter et d'appliquer ce règlement.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 000
Membres
1 586 387
Dernier membre
ouistititouille
Partager cette page
Haut