I am using an Arduino Leonardo (more precisely this product), to communicate with servo-motors) using RS485.
Everything works fine as long as I don't go below a baud rate or 115200bps. If I go below, as 57600 or 9600, I start to get ill-formed packets from my motors: the 4 first bytes are usually correct, but the end of the packet contains incoherent data, and the checksum is obviously wrong.
I am using IndustrialShields (my PLC/Arduino vendor) library for RS485, and I don't see any mention of this problem. I am using Half-duplex communication, with U2X if I correcly understand the source code of the library.
Note that the documentation of the servo-motors mentions there is a small error margin on the clock for low baud rates, but since it works with 115200bps, which has the highest error margin, it shouldn't be a problem.
Also the motors seems to understand the packet I send, but I do not receive their packet correctly.
Is there an edge-case I am not aware of? Sorry for the lack of details, I am not sure what else I can say.