Merci RISC, ce code est proche de celui que j'ai écrit finalement... excepté l'erreur que j'avais dans l'écriture de INTSetVectorPriority(INT_UART_ 2_VECTOR, INT_PRIORITY_LEVEL_2);.
L'un et l'autre fonctionne correctement. Sauf que pour mon code :aucune valeur n'était stocké dans mon vecteur UART2_Buffer_Rx ! J'ai passé une bonne partie de ma soirée à rechercher le problème sans succès. Et ce matin après avoir redémarré mon PC... tout est rentré dans l'ordreCode:UART2_Buffer_Rx[UART2_NbreBytes_Rx] = ReadUART2(); UART2_NbreBytes_Rx++;
Enfin presque (encore) car après réception du message du polarimètre, j'ai ceci dans ma variable : .
Huit caractères au lieu de quatre ??? Il semblerait que la variable UART2_NbreBytes_Rx soit incrémenté de deux unités à chaque passage dans l’interruption. Je regarderai cela de plus près ce soir lorsque je serai plus au calme.
Mais en ce moment je regrette de ne pas pouvoir me servir de la possibilité de tracer le passage dans cette interruption avec REAL ICE.
Si j'ai bien compris il faut :
- du côté du PIC32 (un 795), il faut avoir de disponible les pins TRD0 à TRD3 et TRCLK, ce qui est le cas sur ma carte (mais il va falloir que je soude directement les pins RA6:7 sur le microprocesseur)
- du côté REAL ICE (real ice user guide FIGURE 8-4: ADAPTER BOARD PIN CONNECTION DIAGRAM) : est-ce que je peux prendre un connecteur au pas de 2.54 et souder le câble qui ira sur le circuit du PIC32 et ne pas avoir à attendre de commander le kit microchip ? Est-ce que la qualité d'une telle connectique sera suffisante pour cet usage ?
Jean-Marie
-----