Skip to main content
Visitor II
May 2, 2024
Solved

I'm working with Nucleo F767zit Board, Where two same board need to communicate Through USB_otg_fs.

  • May 2, 2024
  • 5 replies
  • 1841 views

Hi Everyone.

As mentioned in the subject I have 2 Nucleo F767zit. where i configured one board as Host(CDC) and another as Device(CDC). I referred MOOC USB training(https://www.youtube.com/playlist?list=PLnMKNibPkDnFFRBVD206EfnnHhQZI4Hxa), configured Host by (11.1 VCP Host lab) video and Device by (9.1 and 9.2 VCP)video. Host is sending data which is successfully received by Device(OUT direction communication is working), but when Device sends the Data unable to receive that data on the HOST(IN direction communication is not working). I'm unable debug this. Also tried from (https://controllerstech.com/usb-cdc-device-and-host-in-stm32/) this website still the same problem, Data is not Received by Host , Idk what is the reason can anybody help me out with this.

 

thanks

    This topic has been closed for replies.
    Best answer by FBL

    Dear @JagadishB 

    I have some updates. Unfortunately, it seems your implementation is not properly handled. Here, an example from cube firmware where you can configure CDC to send and receive buffer. I have succeeded to make it work on my side without issues by simply looping back RX to TX (device side). you can insert a dummy integer and increment it in CDC_Itf_Receive() to check if you are receiving data.

    FBL_0-1716228406503.png

     

    5 replies

    Technical Moderator
    May 14, 2024

    Hi @JagadishB 

     

    Would you attach your projects to reproduce on my end? 

    JagadishBAuthor
    Visitor II
    May 14, 2024

    Hi@FBL

    I'm Attaching both Host and device project with this. Thanks for the reply.

    Technical Moderator
    May 14, 2024

    Hi @JagadishB 

    I reproduce the issue as you specified. An internal ticket 181392 has been submitted to dedicated team for further investigation.

     

    JagadishBAuthor
    Visitor II
    May 23, 2024

    hi @FBL 

    I hope things are going well.I wanted to know when can I expect the Updates regarding the Issue I raised.

    JagadishBAuthor
    Visitor II
    May 15, 2024

    Thank you very much @FBL , I'm looking forward for the solution.

    FBLAnswer
    Technical Moderator
    May 23, 2024

    Dear @JagadishB 

    I have some updates. Unfortunately, it seems your implementation is not properly handled. Here, an example from cube firmware where you can configure CDC to send and receive buffer. I have succeeded to make it work on my side without issues by simply looping back RX to TX (device side). you can insert a dummy integer and increment it in CDC_Itf_Receive() to check if you are receiving data.

    FBL_0-1716228406503.png

     

    JagadishBAuthor
    Visitor II
    May 24, 2024

    Hi @FBL .

    Thanks for the reply with details.
    Referring the image above I think that the enumeration process is working fine, after enumeration process when the communication begins, the host (being Nucleo F767) will send the data which is being received by the device (Nucleo-F767ZI), but when device sends any data (in loop back mode) that is not getting received on the host. I don't have any USB Protocol Analyzer to debug the communication between host and the device (both being Nucleo-F767ZI). I would like to mention one more thing is that the device with the same code I had provided you is working successfully with PC as host, both data transmit and recieve is working. As I'm just a beginner with the USB Protocol I need some guidance from you to move ahead. Please suggest if any corrections to the host or device code to be done, so that I can do the same thing to make the communication work with the host (Nucleo-F767ZI) from the device. I am now using STM32Cube IDE for development of the USB code, please consider the same.