Bonjour,
Je suis actuellement en stage dans une PME de géo-localisation. Je travail sur un de leur projet et je dois utiliser un dsPIC33Fj256GP710A.
J'ai été amené à utiliser l'UART 1, le problème est que rien ne marche.
En effet, j'ai d'abord voulu envoyer un Hello world en sortie. Cela ne marchant pas, je me suis dis que mon code (aussi simple était-il) en était la cause.
J'ai alors voulu envoyer un bête signal avec la fonction WriteUART1(0xAA); . Même résultat.
J'ai alors essayé de coder moi même l'UART. Même problème.
Quand je vais sur l'oscillo, il n'y a strictement rien. L'UART (qui est pourtant bien initialisé et configuré) n'est même pas en état de repos (à 1).
Voici mon code avec la fonction WriteUART1:
Dans le main après l'init générale:
IFS0bits.U1RXIF = 0; // Flag d'interruption RX à 0
U1BRG = GPS_UBRG; // Pour sélectionner le Baud generator
U1MODE = 0b1010000000001000; //
IFS0bits.U1TXIF = 0; // Flag d'interruption TX à 0
U1STA = 0b0000010000000000; //
while(1)
{
WriteUART1(0xAA);
delay_ms(50);
LATEbits.LATE7^=1; // Fait clignoter une LED afin d'être sur qu'on rentre dans la boucle
clear_WDT();
}
Si vous avez une solution à me proposé, vous pourriez me sauver la vie ^^ (ça fait une semaine que je suis là dessus !!! )
Dans l'attente de vos réponses
-----