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

    UartLpDmaMode example does not work (NOT)



      Setup: FX3 Explorer kit,

        EZUSB Suite (latest)



      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);