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
}
}
-----