It looks like USBX CDC ACM API is blocking only, not asynchronous.
The provided examples (CDC ACM module guide and Communications FW on USBX) implement use pattern when USB thread calls read function and blocks until something is received. Then the thread calls write function to send a feedback.
What if upstream and downstream data flows are not synchronised? How to implement continuous sending and waiting of reception at the same time?
Is any example about this?
Is it possible to get callback when data is received? I see that USBX HID has such a callback while USBX ACM does not.
Should I have two threads? While one will be blocked in read function other will pump data in upstream?
Could you comment?
In reply to Richard:
In reply to WarrenM: