[linux] baudrate 74880 ?

Paul Slootman paul+nospam op wurtel.net
Di Okt 29 13:59:42 CET 2019


On Tue 29 Oct 2019, paai wrote:
> 
> spelende met een esp8266 wilde ik de baud rate op 74880 zetten. Mooi niet.
> Niet via Minicom, niet via de Arduino interface of zelfs met stty.
> 
> 'anybaud' gedownloaded, die beweert dat de baud met succes is aangepast,
> maar stty rapporteert 0 baud en de Arduino terminal wil van niets weten.
> Minicom ook niet. Volgens de aanwijzingen op de site heb ik eerst het
> terminal programma gestart en daarna pas de nieuwe baud rate gezet, maar
> nada.
> 
> Wat is er mis met dat getal 74880 en hoe kan ik mijn /dev/ttyUSB0 alsnog op
> die snelheid krijgen?

Uit de termios(3) manpage:

cfsetospeed() sets the output baud rate stored in the  termios  structure  pointed  to  by
termios_p to speed, which must be one of these constants:

     B0
     B50
     B75
     B110
     B134
     B150
     B200
     B300
     B600
     B1200
     B1800
     B2400
     B4800
     B9600
     B19200
     B38400
     B57600
     B115200
     B230400

Dit zijn de "standaard" baudrates. stty zal ook geen afwijkende snelheid
kunnen tonen, wat die 0 baud mogelijk verklaart.

Baudrate wordt meestal gezet door een deler in te stellen. Als de jouw
gewenste baudrate daarmee niet in te stellen is, dan houdt het op.

https://electronics.stackexchange.com/questions/314060/how-does-16550-uart-handle-non-integer-baud-rates
The 16550 UART calculates the baud rate using formula 115200 divided by
the 16-bit number obtained by concatinating the High and Low DL
registers. There are several well-known divisors that get you well known
baud rates, and are easy to calculate. A baud rate of 9600 is just
115200/12. 57600 is 115200/2, 300 baud is 115200/384, etc... 115200 has
90 integer divisors.

Nu blijkt een esp8266 een max. baud rate van 4608000 te kennen.
Als ik dat deel door jouw 74880 dan komt daar geen geheel getal uit.

Hoe kom jij aan die 74880? Wat is er mis met 115200 of 57600?


Paul


Meer informatie over de Linux maillijst