Bonjour à tous,
Je travaille actuellement sur le PIC16F15223 de chez Microchip. Mon but est d'envoyer une trame côté PC vers mon microcontrôleur. Pour cela, j'utilise le logiciel Dockligth. Cependant, j'ai un petit problème.
J'opère de la façon suivante : lorsque mon PIC reçoit un byte, cela déclenche une interruption dans laquelle je vais lire ce byte et le renvoyer au PC. Cette étape fonctionne correctement à l'exception du fait que le caractère reçu (et donc renvoyé) ne correspond pas au caractère envoyé côté PC.
En réalité, il semble y avoir une inversion puisque lorsque j'envoie 0xFF côté PC, je lis 0x00 côté µc.
Ci-dessous quelques autres exemples :
PC : Microcontrôleur :
0x00 0x00
0x01 0x7F
0x02 0x3F
0x03 0X7E
0xFE 0x00
0xFF 0x00
En observant à l'oscilo sur la PIN réception du PIC, je note bien cette inversion, avec 8 bits à 1 pour 0x00 (or le micro lit 0x00...) et 8 bits à 0 pour 0xFF.
J'ai pensé dans un premier temps que le problème pouvait venir d'une mauvaise configuration du BaudRate, mais ça n'a pas l'air d'être le cas. J'ai aussi cherché s'il n'existait pas un registre de configuration pouvant provoquer cette inversion, mais je n'ai rien trouvé, si ce n'est le registre "SCKP Clock/Transmit Polarity Select", mais sa configuration n'a pas solvé le problème.
Je reste disponible pour détailler davantage si besoin.
N'hésitez pas si vous avez des pistes concernant ce problème, je vous remercie par avance.
-----