USB to RS485 converter on Linux
Linux supports this IC natively and the ch341 module is probably loading correctly since you see the /dev/ttyUSB0 entry created. I had to manually upgrade this driver a few years ago, but recent kernels should have a decent version.
At the Linux programming level (C or Python, for example) you don't handle configuration by writing/reading directly to the device, since the driver does that. You open the device file, configure it with ioctl system calls referencing the file descriptor and communicates using the regular write and read functions.
Applications will see the device as a regular serial port, so, the old Serial Programming HOWTO is a good place to start. Miniterm is also a good reference as well as man 3 termios for a full description of functions and arguments.
Going another level up, Python makes it easier: e. g. here and here.
Edit: moving my comment here to explain more clearly
You should be concerned with your application not being able to receive all data sent from the STM32 reliably. There is buffering in the IC itself but if your process is scheduled out for too long, you may loose bytes. You can change the process priority, limit the rate you send data from STM32, but if you really need a robust communication, you should add that flow control to your protocol.
For the command/response structure you mentioned, with small responses, it should work even without the delay at the STM32 side. If the higher level flow control is too complex, and it is acceptable to only detect that the received data is incomplete, you may just add sequence numbers, timestamps or even integrity checks.