I have an MCU sending out a series of 14 byte UART frames (using DMA) via RS232 at a high frequency of 8KHz. I've configured the baud rate at both ends to 1843200. I'm using FTDI TTL-232R-3V3 cable supporting upto 3Mbaud.
Each 14-byte frame holds a sync byte and when checked at the receiving end, at 1843200 baud, the dataframes themselves are in sync without any missing bytes. However, the values within each datafield are corrupted.
I tried reducing the dataframe size to 10 bytes and still the problem continued. So I tried lowering the baud rates. The values in the 10-byte frame are good upto 1.3M Baud but when I go further to 1.4MBaud, the corruption in the values starts again.
Now, I would like to understand why this issue occurs despite my cable supporting up to 3Mbaud. Is this an issue of the driver?- I'm using the VCP driver. Also, I'm using a pyserial to read out the serial data from the port, could that be the trouble maker? If yes, any alternatives?
question from:
https://stackoverflow.com/questions/66067178/continuous-uart-transmission-rs-232-at-high-baud-rate 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…