0 Replies Latest reply on Sep 14, 2017 9:23 PM by user_471928282

    UartLpDmaMode example does not work (NOT)

    user_471928282

      Hi,

      Setup: FX3 Explorer kit,

        EZUSB Suite (latest)

      teraterm

       

      UartLpDmaMode example does not loop back serial port data even though I typed more than 32 characters.  I am using USB Control Center to download img file.  I have checked the hardware works because UartLpRegMode is able to loopback every single character that I typed in.

       

      When I use openOCD to add a breakpoint in dma callback, I can see that program execution DOES enter callback after 32 characters are typed into teraterm.  And CyU3PDmaChannelCommitBuffer returns no error.  An the next string of ...

       

      Nevermind, found the problem.

       

      If your UartLpDmaMode does not work,  check Flow control on your serial comm software OR disable Flow control  in firmware UART config

       

          uartConfig.baudRate = CY_U3P_UART_BAUDRATE_115200;

          uartConfig.stopBit = CY_U3P_UART_ONE_STOP_BIT;

          uartConfig.parity = CY_U3P_UART_NO_PARITY;

          uartConfig.flowCtrl = CyFalse;  <-------------------------------------------- HERE

          uartConfig.txEnable = CyTrue;

          uartConfig.rxEnable = CyTrue;

          uartConfig.isDma = CyTrue; /* DMA mode */

          /* Set the UART configuration */

          apiRetStatus = CyU3PUartSetConfig (&uartConfig, NULL);

       

      Regards,

       

      Neo