We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi all! I try to implement a Virtual Com Port with eval board MCBSTM32. I started with the HID example provided in the download area. There are two interfaces: I0: bulk in + bulk out with max. packet size = 64k, I1: interrupt in
So far everything works fine: I can connect my device to host and open Com port with TeraTerm. Additionally I can write data to host (less or more than maxPacketSize=64k) and also receive one byte. But after the first transmission (in both directions) usb does not seem to work any more, i.e. ISR for bulk(in)-endpoint is not called when I write data to it.
Any help would be appreciated.
Hi all,
I have solved my problem by just using a bulk IN Endpoint and a simple linux driver on host side.
For sending about 1MB with MaxPacketSize of always 64 Byte I get a data rate of about 30 kbyte/s. I need a transfer rate of at least 120 kbyte/s.
For Bulk transfer the STM32F103xx supports double bufferd bulk transfer (STM32F103xx Reference manual). Both examples for the MCBSTM32 board (USB_HID and USB_MSC) write that double buffering is not yet supported. Is the limitation within hardware or is it possible to "just" add the code to get higher transfer rates by double buffering?
Has anyone else achieved higher data rates with this uC?