the problem is triggered following these steps:
1.1 - Plug the USB RS485 interface and run a modbus server script in PC side (uModbus "python")
1.2 - Request reading coils every 3 seconds (Freemodbus running on Atmel SAMDJ17A)
1.3 - Close the script and re-open it on the first read retry after the timeout
So what actually happens here :
Script response is shifted on the ucMasterRTURcvBuf buffer so the response is always incorrect thus read coil timeout
yet the response is not shifted on the USART circular fifo buffer.
the problem is triggered following these steps: 1.1 - Plug the USB RS485 interface and run a modbus server script in PC side (uModbus "python") 1.2 - Request reading coils every 3 seconds (Freemodbus running on Atmel SAMDJ17A) 1.3 - Close the script and re-open it on the first read retry after the timeout
So what actually happens here : Script response is shifted on the ucMasterRTURcvBuf buffer so the response is always incorrect thus read coil timeout yet the response is not shifted on the USART circular fifo buffer.