2017-08-22 12 views
1

Je travaille actuellement avec un microcontrôleur pour établir une communication entre un ASIC et mon PC. L'ASIC envoie des données au microcontrôleur via SPI et le microcontrôleur envoie les données au PC via UART (RS232). J'utilise python pour "enregistrer" les données (qui sont envoyées en continu via UART). Veuillez noter que le programme python utilisé n'a pas été codé par moi, mais par d'autres personnes avec lesquelles je ne peux pas entrer en contact. De plus, je n'ai aucune expérience avec python.Transfert RS232, python interprète mes données comme nouveau saut de ligne et retour chariot

Voici un exemple de données J'envoie à travers UART: (le programme est compté)

255 -> start byte 
0 -> 1 bytes of data 
0 -> 1 bytes of data 
0 -> 1 bytes of data 
8 -> 1 bytes of data 
0 -> stop byte 

255 
0 
0 
0 
9 
0 

255 
0 
0 
0 
13 ->This is what I don’t want. I’m sending 10 but that 13 is added by python 
10 
0 
255 

255 
0 
0 
0 
11 
0 
... 

Comme indiqué ci-dessus, quand un octet de données est 10, un 13 est recodé/ajoutés. D'après ce que j'ai lu à propos du retour chariot et du nouveau saut de ligne, je suppose que cette erreur concerne l'interprétation de mes données par python. J'ai essayé de lire le pilote "serial" (ou quoi que ce soit que j'ai lu), mais je n'ai rien trouvé pour désactiver une telle "interprétation de mes données".

Est-ce que quelqu'un d'entre vous sait où je devrais regarder? Demandez plus de détails si ce n'est pas assez clair.

Répondre

0

Je résolus en changeant: OutputFile = open (nom de fichier, "w") à OutputFile = open (nom de fichier, "w b")