This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem with Virtual Com Port

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.

Parents
  • Thank you for the quick answers.

    @Al Bradford
    In the first transmission I can send data with less than 64k data, with more than 64k data (= EPxwrite has to be called more than one time) and also with exactly 64k data. If less than maxpacketsize data is sent, the receiver automatically understands this as the end of transmission. In the latter case I have to send a ZLP afterwards to indicate the end of the transmission as described for bulk transfer. Is this what you mean by ZLP? Or is there any additional "termination" packet I have to send?

    On Win side I do not use HID, I use a VCP driver for connection with the device.

    @wild(1)
    I use the uVision 4 Development Environment which also provides an example from ST for the virtual com port. I looked through the code but could not find anything which could solve my problem.

Reply
  • Thank you for the quick answers.

    @Al Bradford
    In the first transmission I can send data with less than 64k data, with more than 64k data (= EPxwrite has to be called more than one time) and also with exactly 64k data. If less than maxpacketsize data is sent, the receiver automatically understands this as the end of transmission. In the latter case I have to send a ZLP afterwards to indicate the end of the transmission as described for bulk transfer. Is this what you mean by ZLP? Or is there any additional "termination" packet I have to send?

    On Win side I do not use HID, I use a VCP driver for connection with the device.

    @wild(1)
    I use the uVision 4 Development Environment which also provides an example from ST for the virtual com port. I looked through the code but could not find anything which could solve my problem.

Children