2016-12-07 2 views
0

J'essaie d'obtenir que pySerial communique avec un microcontrôleur sur un câble FTDI à un débit de 500 000 bauds. Je sais que mon microcontrôleur et mon câble FTDI peuvent tous les deux le gérer, tout comme mon ordinateur portable lui-même, car je ne peux pas envoyer de problème à un terminal à mastic. Cependant, je n'obtiens rien quand j'essaie d'envoyer des choses à mon script python avec pySerial, bien que le même code python fonctionne avec un débit en bauds inférieur.PySerial - Vitesse de transmission maximale pour la plate-forme (Windows)

La documentation pyserial dit:

« Le paramètre vitesse de transmission peut être l'une des valeurs standard: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600 , 19200, 38400, 57600, 115200. Ceux-ci sont bien pris en charge sur toutes les plates-formes

Valeurs standard supérieures à 115200, telles que: 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000 , 3500000, 4000000 fonctionnent également sur de nombreuses plates-formes et appareils. " Donc, je suppose que cela ne fonctionne pas parce que mon système ne le supporte pas, mais comment vérifier les valeurs supportées par mon système/est ce que je peux faire pour le faire fonctionner? J'ai malheureusement besoin de transmettre au moins 250 000 et à un bon nombre rond comme 250 000 ou 500 000 (à faire avec l'erreur d'horloge sur le microcontrôleur).

Merci d'avance pour votre aide!

Répondre

0

J'ai donc trouvé que les nombres arrondis ne fonctionnaient pas, c'est-à-dire 100000, 200000, 250000 mais les multiples de 115200. 230400, 460800

J'ai essayé d'utiliser 230400 au début mais le débit en bauds que mon microcontrôleur peut produire est 235294 ou 222222. 235294 donne une erreur de -2,1% et 222222 donne une erreur de 3,55%. J'ai naturellement choisi celui avec l'erreur inférieure mais cela n'a pas fonctionné et n'a pas pris la peine d'essayer 222222. Pour une raison quelconque, 222222 fonctionne quand 235294 cependant. Donc, je n'ai pas vraiment besoin d'utiliser le débit de 250000 bauds que je pensais initialement.

Je ne sais toujours pas pourquoi pyserial ne fonctionne pas avec ces vitesses de transmission quand mastic fait, donc clairement mon ordinateur portable peut le faire physiquement. Quoi qu'il en soit, nous saurons à l'avenir essayer plus de vitesses de transmission standard et utiliser des microcontrôleurs qui ne peuvent pas produire la vitesse de transmission exacte requise pour essayer les fréquences supérieures et inférieures.