According to the Modbus RTU protocol requirements, the communication message frame is separated by a blank time of more than 3.5 characters. This is easier to do in a single-chip microcomputer. It is difficult under the Windows system. For example, the resolution of the VB6.0 timing interval. It is 1/18 second, and the t3.5=4mS timer at 9600 rate cannot be used for timing at high speed communication. Even with the mS level system clock timeGetTime, it is impossible to achieve 0.33mS of t3.5 at 115200 rate. timing.
Modbus originally has a short message, and the interval between the high rate is too long, which seriously affects the communication efficiency. I don't know how you deal with this problem?