I'm using STM32 VCP firmware on STM32F4 discovery. I generated the code with CubeMX and I could successfully integrate it into my Eclipse project. After calling the initialisation functions, the device appears on my PC as virtual com port, so the drivers are fine.

But where can I find the functions in the library, which do the trasmitting and receiving data on the STM32 device? I know this is a very basic question, but I'm looking for them for a long time.

In my VCP project:

file: usbd_cdc_vcp.c

uint16_t VCP_DataTx (uint8_t* Buf, uint32_t Len); <-You call it to send data from STM to PC

and

uint16_t VCP_DataRx (uint8_t* Buf, uint32_t Len) {
// Called when data from PC to STM is available.


• Thank you, I found the transmit function in file: usbd_cdc_if.c named as: uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len); It is probably generated by CubeMX with a different file and function name. – tenkmilan Mar 13 '15 at 16:10