This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UART DMA with HalUARTWrite(...) doesn't see the Tx bytes output?

Other Parts Discussed in Thread: CC2540

Hello:

I have the CC2540_MINIDK kit, and want to Tx/Rx data using UART DMA in Port0 (P0.2 and P0.3). Using the configuration settings, I able to DMA Rx bytes correctly. But when I trying to Tx bytes by calling HalUARTWrite(...), the DMA UART Tx doesn't send out bytes. I put the digital scope on P0.2 and P0.3 and don't see Tx occurs.

Can you help me to configure the CC2540_MINIDK GPIO to have the UART DMA Tx output correctly?

Thank You

Mike

 

------------- My UART Configuration ----------------

INT_HEAP_LEN=2900
HALNODEBUG
OSAL_CBTIMER_NUM_TASKS=1
HAL_AES_DMA=FALSE
HAL_DMA=TRUE
xPLUS_BROADCASTER
HAL_LCD=FALSE
HAL_LED=TRUE
HAL_UART=TRUE
CC2540_MINIDK=TRUE
DEBUG_TURN_ON
POWER_SAVING

 

#define SBP_UART_PORT                  HAL_UART_PORT_0
//#define SBP_UART_FC                    TRUE
  #define SBP_UART_FC                    FALSE
#define SBP_UART_FC_THRESHOLD          48
#define SBP_UART_RX_BUF_SIZE           128
#define SBP_UART_TX_BUF_SIZE           128
#define SBP_UART_IDLE_TIMEOUT          6
#define SBP_UART_INT_ENABLE            TRUE

//#define SBP_UART_BR                   HAL_UART_BR_115200
//#define SBP_UART_BR                   HAL_UART_BR_57600
//#define SBP_UART_BR                   HAL_UART_BR_38400
//#define SBP_UART_BR                   HAL_UART_BR_19200
#define SBP_UART_BR                     HAL_UART_BR_9600

void serialAppInitTransport( )
{
  halUARTCfg_t uartConfig;
 
  // Initialize UART variables
  g_pktIndex = 0;

  // configure UART
  uartConfig.configured           = TRUE;
  uartConfig.baudRate             = SBP_UART_BR;
  uartConfig.flowControl          = SBP_UART_FC;
  uartConfig.flowControlThreshold = SBP_UART_FC_THRESHOLD;
  uartConfig.rx.maxBufSize        = SBP_UART_RX_BUF_SIZE;
  uartConfig.tx.maxBufSize        = SBP_UART_TX_BUF_SIZE;
  uartConfig.idleTimeout          = SBP_UART_IDLE_TIMEOUT;
  uartConfig.intEnable            = SBP_UART_INT_ENABLE;
  uartConfig.callBackFunc         = funcSerialPacketRx;

  // start UART
  // Note: Assumes no issue opening UART port.
  (void)HalUARTOpen( SBP_UART_PORT, &uartConfig );

  return;
}