no, divide by 10, 8 data + start + stop bitsjust did some math, 115,200/8 bits=14,400 char/second (right ? )
no, divide by 10, 8 data + start + stop bitsjust did some math, 115,200/8 bits=14,400 char/second (right ? )
Warning I'm not a teacher
You can configure the UART for speeds way beyond 115200 if you want. I've done DMX512 which runs at 250kbaud for example.
But, as Richard mentions, thats only half of the equation.
At the receiving end you need to be able to both A) store the incoming bytes at that high pace and B) process the data.
Is the data a continous stream or short bursts with relatively long "silence" in between?
Last edited by Demon; - 1st September 2024 at 08:29.
My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.
Not as dumb as yesterday, but stupider than tomorrow!
There are faster hardware interfaces (ie SPI), but as has been pointed out your code needs to be able to keep up, and that gets difficult.
I've run a UART link up to 460K baud reliably, but that was with a PIC18 @ 64MHz
Here's how fast a byte gets transferred at different baud rates:
115.2K = 86us
230.4K = 43us
460.8K = 21us
If your ISR can't keep up with those rates then you'll loose bytes.
A UART is probably your best bet since it's double buffered in hardware, plus it's easy to use.
My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.
Not as dumb as yesterday, but stupider than tomorrow!
Bookmarks