salut à tous et à tout ,j'ai un projet à faire ,une partie de ce projet concernant l'envoie d'une donné numérique de (0 à 255) ,la donnés doit etre envoyer par un slider de Labview à une carte a travers le port série,
le probleme ,lorsque je fais la simulation par isis (reception d'une donné par le port série) j'affiche la donné sur afficheur Lcd ,lorsque par exemple j'envoie la donné 124 ,l'afficheur affiche 1puis 2 puis 4
normale 124 mais apres le curseur retourne à 2 pour le remplacer par 1 et un sudesuite et apres la donné final se stabilise à 111 au lieu de 124.
comment je peux resoudre ce probleme voici le programme sur microc.
unsigned char ch;
unsigned short i=0,pos;
char lcdtext[3];
void main()
{
TRISB = 0b11111000; // PORTB = RB2 à RB0 E, RS du LCD et LED en sortie
TRISC=(TRISC & 0b10110000); // TX, D7 à D4 du LCD-> en sortie 0xf0;
PORTB=0;
PORTC=0;
INTCON = 0;
Usart_Init(9600);
Lcd_Init(&portb);
while(1)
{
if(Usart_Data_Ready())
{
while(1)
{
lcdtext[i]=Usart_Read();
i++;
if(i==3)
i=0;
Lcd_Cmd(LCD_RETURN_HOME);
for(pos=0;pos<3;pos++)
{
portb=0b11110100;
Lcd_Chr_CP(lcdtext[pos]);
if (pos==3) Lcd_Cmd(LCD_SECOND_ROW);
Delay_ms(300);
}
}
}
}
}
-----