Bonjour à tous,
Voilà : pour mon TFE, je dois utiliser un 16F887 que je programme avec EasyPic6 de Microchip.
J'ai réalisé plusieurs programmes indépendants, s'occupant chacun d'une tâche particulière. Pour le moment, j'ai un "void interrupt(void)" qui est un programme à part, qui gère donc les interruption et qui fonctionne, et les résultats seront affichés sur un GLCD 128x64.
Donc, j'ai un "void InitGLCD()" indépendant également de mon "void main()".
Seulement voilà : je ne parviens pas à faire appel à mon programme d'initialisation GLCD depuis mon "main".
Pour le moment, le programme ici me permet de tester les interruptions et le GLCD, j'ai le code complet, mais je ne vais pas le mettre ici, c'est trop long !Code:int i; void main(void) { InitGLCD(void); INTCON=0xD9; ANSEL = 0; // Permet de configurer les entrées en digital ANSELH = 0; TRISD = 0x00; TRISB = 0xff; TRISC = 0x00; // LES PORTS B,C ET D SONT CONFIGURES EN SORTIE TRISA = 0xFF; // LE PORT A EST EN ENTREE PORTD=0; // LES PORTS B,C ET D ONT UNE VALEUR DE DEPRART DE 0 PORTC=0; while (1) { PORTD=0; for (i=0;i<255;i++) { i++; delay_ms(1000); PORTD=i; } i=0; } }
Donc, ici, je fais appel à "InitGLCD()" qui est en fait un "void InitGLCD()".
Mais ca ne fonctionne pas : je n'appelle pas mon InitGLCD !
Quelqu'un pourrais-t-il m'aider ??Code:char GLCD_DataPort at PORTD; sbit GLCD_CS1 at RB0_bit; sbit GLCD_CS2 at RB1_bit; sbit GLCD_RS at RB2_bit; sbit GLCD_RW at RB3_bit; sbit GLCD_EN at RB4_bit; sbit GLCD_RST at RB5_bit; sbit GLCD_CS1_Direction at TRISB0_bit; sbit GLCD_CS2_Direction at TRISB1_bit; sbit GLCD_RS_Direction at TRISB2_bit; sbit GLCD_RW_Direction at TRISB3_bit; sbit GLCD_EN_Direction at TRISB4_bit; sbit GLCD_RST_Direction at TRISB5_bit; // End Glcd module connections void InitGLCD(void) { int i=0; char *text, *text2; text="essais"; text2="test"; ANSEL = 0; // Configure AN pins as digital ANSELH = 0; C1ON_bit = 0; // Disable comparators C2ON_bit = 0; Glcd_Init(); // Initialize GLCD Glcd_Fill(0x00); // Clear GLCD Glcd_Fill(0x00); // Clear GLCD Glcd_Set_Font(Font_Glcd_System5x7, 5, 7, 32); // Change font Glcd_write_Text (text,0,0,1); Glcd_Set_Font(Font_Glcd_System3x5, 3, 5, 32); // Change font Glcd_write_Text(text2,0,1,1); }
Merci à vous !!
Geoffroy
-----