salut tous,
je suis entrain de programmer un PIC 16F876A avec mikroC
dans une application qui concisite à la communication avec une interface USART..j'ai ajouté un afficheur lcd en mode 4 bits pour visualiser l'information que je vais envoyer dès que je tape "entrer" après une chaine de caractère.
la compilation ne me donne pas d'erreur au niveau du programme
mais lors de la simulation avec porteus ISIS je narrive pas à afficher
cette chaine aprés que je tape sur touche entrer.
quelqu'un peut m'expliquer pourquoi SVP????
voila mon code:
vous voyer dans la pièce jointe que quand je tape salut dans la fenetre du terminal l'afficheur efface la chaine par défaut "communication PC-PIC" et puis il n'affiche rienCode:char receive[32]; char lcdtext[32]; unsigned short i,inter; void main() { PORTA = 0 ; // initialisation PORTA TRISA = 0x3F ; // configuration du PORTA comme entrée PORTB = 0 ; // initialisation PORTB TRISB = 0x00 ; //configuration du PORTB comme Sortie PORTC = 0b00001001 ; // initialisation PORTC TRISC = 0xA4; Usart_Init( 9600); INTCON.GIE=1; PIE1.RCIE=1; RCSTA.SPEN = 1; RCSTA.CREN =1; TXSTA.TX9 =0; TXSTA.TXEN=1; TXSTA.SYNC=0; lcd_Init(&PORTB); #define D PORTC.F2 #define B PORTC.F0 #define A PORTC.F1 #define C PORTC.F3 do { i=0; compt=0; inter=0; if(D==1) { lcd_Cmd(Lcd_Clear); Lcd_Out(1,3,"Communication"); lcd_Cmd(Lcd_Cursor_OFF); Lcd_Out(2,6,"PC-PIC"); while (compt!=3) { if (usart_data_ready()) { receive[i]= usart_read(); if (receive[i]=='+' ) { compt++; } //======================================================= // ma partie du programme qui n'a pas marché //======================================================= else if (receive[i]==0x0D)// si on tape entré dans la chaine { inter=i; // pour determiner la longueur de la chaine de carac Lcd_Cmd(Lcd_Clear); Lcd_Cmd(LCD_TURN_ON); for(i=0;i<inter;i++) { lcdtext[i]=receive[i]; lcd_Cmd(Lcd_Cursor_OFF); } } //====================================== //====================================== } } }
-----