Bonjour à tous!
J'écris un programme sur mikroC où je dois lire des informations du port série, le micro-contrôleur pic 16f877a envoie des commandes et reçois instantanément des réponses, je dois alors utiliser l'instruction
if(UART1_Data_Ready()){ x = UART1_Read();}
et aussi
if(UART1_Data_Ready()==1){ x = UART1_Read();}
mon problème c'est que la conditon UART1_Data_Ready()==1 ne se réalise pas,et le variable x ne reçoit pas UART1_Read()
Est ce que quelqu'un peut me dire pourquoi? Et comment puis-je forcer qu'elle se réalise?
Code:char x,y; void main() { TRISB=0xff; TRISD=0xff; TRISC=0b1000000; PWM1_Init(5000); UART1_Init(9600); Delay_ms(500); UART1_Write_Text("Start"); while (1) { // Endless loop if ( UART1_Data_Ready()) // If data is received, x = UART1_Read(); // read the received data, if(x=='a') {UART1_Write(13); // and send data via UART UART1_Write_Text("this is A"); UART1_Write(13);}
-----