2017-02-07 2 views
0

Comment régler le débit en bauds non standard sur pySerial? Selon la documentation, il est indiqué que pySerial prend en charge des débits en bauds non standard sur certaines plates-formes. Lorsque j'ai essayé de configurer pySerial avec un débit binaire non standard (12800), il a fini par en choisir un standard sans lancer d'avertissement. Comment vérifier si ma plate-forme prend en charge des vitesses de transmission non standard?Débit en bauds personnalisé en utilisant pyserial

The parameter baudrate can be one of the standard values: 50, 75, 110, 
134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 
115200. These are well supported on all platforms. 

    Standard values above 115200, such as: 230400, 460800, 500000, 576000, 
921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000, 3500000, 4000000 
also work on many platforms and devices. 

    Non-standard values are also supported on some platforms (GNU/Linux, MAC 
OSX >= Tiger, Windows). Though, even on these platforms some serial ports may 
reject non-standard values. 

J'utilise

Linux raspberrypi-zero1 4.4.34+ #930 Wed Nov 23 15:12:30 GMT 2016 armv6l GNU/Linux 

Répondre

0

personnalisés sont débits en bauds mis la même manière que standards vitesses de transmission, avec l'option baudrate. Pyserial va ouvrir le port, et définir le débit en bauds à la valeur donnée, puis Pyserial va lire le débit en retour de la série, pour obtenir le réglage réel obtenu. Donc, s'il ne correspond pas, il est probable que le port ne supporte pas les vitesses de transmission non standard. Voici un exemple où cela fonctionne:

>>> ser = serial.Serial('/dev/ttyS0', baudrate=2345) 
>>> ser 
Serial<id=0xb73467cc, open=True>(port='/dev/ttyS0', baudrate=2345, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False)