Bonjour,
Dans le cadre d'un projet, je travaille sur un dsPIC33FGP802que j'ai programmé pour numériser 4 signaux et les envoyer en série. A l'heure actuelle, cela fonctionne parfaitemant. Or j'aimerais mettre en place une communication via le PC en envoyant des commandes au PIC. J'envoi une trame (par ex: 111111) les données sont envoyés et je renvoi cette trame l'envoi est stopé.
Donc j'ai tout simplement glissé un if dans le while du main pour pouvoir gérer cette fonction :
En gros, si le buffer est vide on arrête d'envoyer et si le buffer est plein on envois.
Mon problème est que je n'arrive à l'activer qu'une seule fois et après je ne peux plus l'arrêter. Or j'ai bien vu que le buffer ce vidait effectivement bien...Code:while(1) { // The ever versatile Infinite Loop! if(U2STAbits.URXDA==0) { U2STAbits.UTXEN=0; U2STAbits.URXDA=0; } if(U2STAbits.URXDA==1) { U2STAbits.UTXEN=1; } }
Si quelqu'un à une petite idée du chemin que je devrais suivre.
Merci,
Cordialement![]()
-----