AnsweredAssumed Answered

S32K144   LPUART0 EDMA

Question asked by 海雄 周 on Nov 6, 2017
Latest reply on Nov 23, 2017 by Razvan-nicolae Tilimpea

Hi:

  Program source is as follows:

     uint8_t  uarttxBuff[8]={0,};

    uarttxBuff[0]=0x2f;
    uarttxBuff[1]=1;
    uarttxBuff[2]=2;
   uarttxBuff[3]=3;
   uarttxBuff[4]=4;
   uarttxBuff[5]=5;
   uarttxBuff[6]=6;
   uarttxBuff[7]=7;

EDMA_DRV_Init(&dmaController1_State, &dmaController1_InitConfig0,edmaChnStateArray, edmaChnConfigArray, EDMA_CONFIGURED_CHANNELS_COUNT);

EDMA_DRV_ConfigSingleBlockTransfer(0,EDMA_TRANSFER_MEM2PERIPH,(uint32_t)DMA_TCD_SADDR_SADDR(&uarttxBuff), 0x4006A01C,EDMA_TRANSFER_SIZE_1B,4);

EDMA_DRV_TriggerSwRequest(0);

  LPUART0 can only send the first data:0x2f;Can not send the first four data(uarttxBuff[0]~uarttxBuff[3]).

If changed to bulk transmission:EDMA_DRV_ConfigMultiBlockTransfer(0,EDMA_TRANSFER_MEM2PERIPH,(uint32_t)&uarttxBuff[0], 0x4006A01C,EDMA_TRANSFER_SIZE_1B,4,2,1)

It is the same, sending only the first data

Outcomes