DMA Ping-Pong application

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DMA Ping-Pong application

DMA Ping-Pong application

Overview

         Ping-pong is a special case of a linked transfer which typically used more frequently than more complicated versions of linked transfers.

A ping-pong transfer usually uses at least two buffers. At any one time, one buffer is being loaded or unloaded by DMA operations. The other buffers have the opposite operation being handled by software, readying the buffer for use when the buffer currently being used by the DMA controller is full or empty. The Fig 1 illustrates an example of descriptors for ping-pong from a peripheral to two buffers in memory.

pastedImage_1.png

Fig 1

Implementation detail

        To continuous transfer the converted result of the ADC to RAM, I’m going to use four 4 DMA descriptors to work in Ping-Pong mode to

achieve this goal as the Fig 2 shows.

pastedImage_5.png

Fig 2 Data flow via Ping-Pong mode

Hardware introduction

  •         LPCXpressor54114 BoardOM13089

pastedImage_8.png

Fig 3 LPCXpressor54114 Board

Example code

       The code is based on the periph_adc demo, using the SCTimer output as the hardware trigger of ADC, meanwhile, the ADC converted value is transferred to the appointed area of RAM automatically.

#include "board.h"

#define SCT_PWM            LPC_SCT

#define NUM_BUFFERS 4
#define DMA_TRANSFER_SIZE 8
#define ADC_INPUT_CHANNEL 1

#define SCT_PWM_RATE   10000          /* PWM frequency 10 KHz */
#define SCT_PWM_PIN_OUT    7          /* COUT7 Generate square wave */
#define SCT_PWM_OUT        1          /* Index of OUT PWM */

uint16_t adcOut;

ALIGN(512) DMA_CHDESC_T ADC_TransferDescriptors[NUM_BUFFERS];


uint16_t CapturedData[32];

uint16_t DMA_Sum=0;

/**
 *
 * ADC IRQ not Used right now... Only for testing
 */
void ADC_SEQA_IRQHandler(void)
{
            /* If SeqA flags is set i.e. data in global register is valid then read it */
        Chip_GPIO_SetPinState(LPC_GPIO, 0, 6, true);
        //DEBUGOUT("ADC Output = %d\r\n", adcOut);
        Chip_GPIO_SetPinState(LPC_GPIO, 0, 6, false);
        Chip_ADC_ClearFlags(LPC_ADC,0xFFFFFFFF);
}


void DMA_IRQHandler(void)
{
        static uint16_t DMA_Sum=0;
        
        DMA_Sum++;
        
         if(DMA_Sum ==8)
         {
           DMA_Sum=4;
         }

       
     Chip_GPIO_SetPinState(LPC_GPIO, 0, 7,true);

     /* Rrror interrupt on channel 0? */
     if ((Chip_DMA_GetIntStatus(LPC_DMA) & DMA_INTSTAT_ACTIVEERRINT) != 0)
     {
          /* This shouldn't happen for this simple DMA example, so set the LED
             to indicate an error occurred. This is the correct method to clear
             an abort. */
          Chip_DMA_DisableChannel(LPC_DMA, DMA_CH0);
          while ((Chip_DMA_GetBusyChannels(LPC_DMA) & (1 << DMA_CH0)) != 0) {}
          Chip_DMA_AbortChannel(LPC_DMA, DMA_CH0);
          Chip_DMA_ClearErrorIntChannel(LPC_DMA, DMA_CH0);
          Chip_DMA_EnableChannel(LPC_DMA, DMA_CH0);
          Board_LED_Set(0, true);
     }

     Chip_GPIO_SetPinState(LPC_GPIO, 0,7,false);

     /* Clear DMA interrupt for the channel */
     LPC_DMA->DMACOMMON[0].INTA = 1;
}





     /***
      *      ____  __  __    _
      *     |  _ \|  \/  |  / \
      *     | | | | |\/| | / _ \
      *     | |_| | |  | |/ ___ \
      *     |____/|_|  |_/_/   \_\
      *     / ___|  ___| |_ _   _ _ __
      *     \___ \ / _ \ __| | | | '_ \
      *      ___) |  __/ |_| |_| | |_) |
      *     |____/ \___|\__|\__,_| .__/
      *                          |_|
      */
void DMA_Steup(void)
{
        DMA_CHDESC_T Initial_DMA_Descriptor;
        
        ADC_TransferDescriptors[0].source = (uint32_t)&LPC_ADC->SEQ_GDAT[0];
     ADC_TransferDescriptors[1].source = (uint32_t)&LPC_ADC->SEQ_GDAT[0];
     ADC_TransferDescriptors[2].source = (uint32_t)&LPC_ADC->SEQ_GDAT[0];
     ADC_TransferDescriptors[3].source = (uint32_t)&LPC_ADC->SEQ_GDAT[0];


     ADC_TransferDescriptors[0].dest = (uint32_t)&CapturedData[(0+1)*DMA_TRANSFER_SIZE-1];
     ADC_TransferDescriptors[1].dest = (uint32_t)&CapturedData[(1+1)*DMA_TRANSFER_SIZE-1];
     ADC_TransferDescriptors[2].dest = (uint32_t)&CapturedData[(2+1)*DMA_TRANSFER_SIZE-1];
     ADC_TransferDescriptors[3].dest = (uint32_t)&CapturedData[(3+1)*DMA_TRANSFER_SIZE-1];

     //The initial DMA desciptor is the same as the 1st transfer descriptor.   It
     //Will link into the 2nd of the main descriptors.

     ADC_TransferDescriptors[0].next = (uint32_t)&ADC_TransferDescriptors[1];
     ADC_TransferDescriptors[1].next = (uint32_t)&ADC_TransferDescriptors[2];
     ADC_TransferDescriptors[2].next = (uint32_t)&ADC_TransferDescriptors[3];

     //Link back to the 1st descriptor
     ADC_TransferDescriptors[3].next = (uint32_t)&ADC_TransferDescriptors[0];

     //For a test,  stop the transfers here.   The sine wave will look fine.
     //ADC_TransferDescriptors[3].next = 0;

     ADC_TransferDescriptors[0].xfercfg = (DMA_XFERCFG_CFGVALID |
                               DMA_XFERCFG_RELOAD  |
                               DMA_XFERCFG_SETINTA |
                               DMA_XFERCFG_WIDTH_16 |
                               DMA_XFERCFG_SRCINC_0 |
                               DMA_XFERCFG_DSTINC_1 |
                               DMA_XFERCFG_XFERCOUNT(DMA_TRANSFER_SIZE));

     ADC_TransferDescriptors[1].xfercfg = ADC_TransferDescriptors[0].xfercfg;
     ADC_TransferDescriptors[2].xfercfg = ADC_TransferDescriptors[0].xfercfg;

     ADC_TransferDescriptors[3].xfercfg = (DMA_XFERCFG_CFGVALID |
                               DMA_XFERCFG_RELOAD  |
                               DMA_XFERCFG_SETINTA |
                              DMA_XFERCFG_WIDTH_16 |
                              DMA_XFERCFG_SRCINC_0 |
                              DMA_XFERCFG_DSTINC_1 |
                              DMA_XFERCFG_XFERCOUNT(DMA_TRANSFER_SIZE));

     Initial_DMA_Descriptor.source = ADC_TransferDescriptors[0].source;
     Initial_DMA_Descriptor.dest =   ADC_TransferDescriptors[0].dest;
     Initial_DMA_Descriptor.next =  (uint32_t)&ADC_TransferDescriptors[1];
     Initial_DMA_Descriptor.xfercfg = ADC_TransferDescriptors[0].xfercfg;

     /* DMA initialization - enable DMA clocking and reset DMA if needed */
     Chip_DMA_Init(LPC_DMA);

     /* Enable DMA controller and use driver provided DMA table for current descriptors */
     Chip_DMA_Enable(LPC_DMA);
     Chip_DMA_SetSRAMBase(LPC_DMA, DMA_ADDR(Chip_DMA_Table));

     /* Setup channel 0 for the following configuration:
        - High channel priority
        - Interrupt A fires on descriptor completion */
     Chip_DMA_EnableChannel(LPC_DMA, DMA_CH0);
     Chip_DMA_EnableIntChannel(LPC_DMA, DMA_CH0);
     Chip_DMA_SetupChannelConfig(LPC_DMA, DMA_CH0,     //(DMA_CFG_PERIPHREQEN     |
                                   (DMA_CFG_HWTRIGEN        |
                                    DMA_CFG_TRIGBURST_BURST |
                                                         DMA_CFG_TRIGTYPE_EDGE   |
                                       DMA_CFG_TRIGPOL_LOW    |    //DMA_CFG_TRIGPOL_HIGH
                                       DMA_CFG_BURSTPOWER_1    |
                                    DMA_CFG_CHPRIORITY(0)
                                         )
                                       );


     //make sure ADC Sequence A interrupts is selected for for a DMA trigger
     LPC_INMUX->DMA_ITRIG_INMUX[0] = 0;

     /* Enable DMA interrupt */
     NVIC_EnableIRQ(DMA_IRQn);

     // The 1st descriptor is set up through the registers.

     /* Setup transfer descriptor and validate it */
     Chip_DMA_SetupTranChannel(LPC_DMA, DMA_CH0, &Initial_DMA_Descriptor);

     //Use the transfer configuration for our 4 main descriptors
     Chip_DMA_SetupChannelTransfer(LPC_DMA, DMA_CH0,     ADC_TransferDescriptors[0].xfercfg);
     Chip_DMA_SetValidChannel(LPC_DMA, DMA_CH0);      
}

void SCT_PWM_Generate(void)
{
         /* Initialize the SCT as PWM and set frequency */
     Chip_SCTPWM_Init(SCT_PWM);
     Chip_SCTPWM_SetRate(SCT_PWM, SCT_PWM_RATE);

     /* Setup Board specific output pin */
     Chip_IOCON_PinMuxSet(LPC_IOCON, 1, 14, IOCON_FUNC3 | IOCON_MODE_INACT | IOCON_DIGITAL_EN | IOCON_INPFILT_OFF);
     /* Use SCT0_OUT7 pin */
     Chip_SCTPWM_SetOutPin(SCT_PWM, SCT_PWM_OUT, SCT_PWM_PIN_OUT);

        
     /* Start with 50% duty cycle */
     Chip_SCTPWM_SetDutyCycle(SCT_PWM, SCT_PWM_OUT, Chip_SCTPWM_PercentageToTicks(SCT_PWM, 10));
     Chip_SCTPWM_Start(SCT_PWM);    
}


     /***
           *         _    ____   ____
           *        / \  |  _ \ / ___|
           *       / _ \ | | | | |
           *      / ___ \| |_| | |___
           *     /_/__ \_\____/ \____|
           *     / ___|  ___| |_ _   _ _ __
           *     \___ \ / _ \ __| | | | '_ \
           *      ___) |  __/ |_| |_| | |_) |
           *     |____/ \___|\__|\__,_| .__/
           *                          |_|
           */
void ADC_Steup(void)
{
    /*Set Asynch Clock to the Main clock*/
    LPC_SYSCON->ADCCLKSEL = 0;
    //Set the divider to 1 and enable.  note,  the HALT bit (30) and RESET (29) are not in the manual
    LPC_SYSCON->ADCCLKDIV = 0;
     /* Initialization ADC to 12 bit and set clock divide to 1 to operate synchronously at System clock */
    Chip_ADC_Init(LPC_ADC, ADC_CR_RESOL(3) | ADC_CR_CLKDIV(0)| ADC_CR_ASYNC_MODE);   
    //select ADC Channel 1 as input
    Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 30, IOCON_FUNC0 | IOCON_ANALOG_EN| IOCON_INPFILT_OFF);   
    LPC_ADC->INSEL = 0x01;
    Chip_ADC_SetupSequencer(LPC_ADC,ADC_SEQA_IDX,                                            
                              ADC_SEQ_CTRL_SEQ_ENA |
                              ADC_SEQ_CTRL_CHANNEL_EN(ADC_INPUT_CHANNEL) |
                                                ADC_SEQ_CTRL_TRIGGER(2) |
                              ADC_SEQ_CTRL_HWTRIG_POLPOS |
                                                ADC_SEQ_CTRL_HWTRIG_SYNCBYPASS |
                              ADC_SEQ_CTRL_MODE_EOS |
                                                ADC_SEQ_CTRL_SEQ_ENA);
    /* Enable Sequence A interrupt */
    Chip_ADC_EnableInt(LPC_ADC, ADC_INTEN_SEQA_ENABLE);
    
    /* Calibrate ADC */
    if(Chip_ADC_Calibration(LPC_ADC) == LPC_OK) {
        /* Enable ADC SeqA Interrupt */
        NVIC_EnableIRQ(ADC_SEQA_IRQn);
    }
    else {
        DEBUGSTR("ADC Calibration Failed \r\n");
        return ;
    }
}

int main(void)
{
  
    SystemCoreClockUpdate();
    Board_Init();
    
    DMA_Steup();
    ADC_Steup();
    SCT_PWM_Generate();

    
    while(1)
    {}
    
}
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

 Verification

  1.      Building the project, then click the  pastedImage_25.pngto debug;
  2.        Generate the sine wave: 1 KHz, 幅度:0~2 V,feed the wave the ADC via the J9_1(P0_30-ADC1);
  3.         Setting the breakpoint (Fig 4) to observe the ADC converted value CapturedData[32];

pastedImage_26.png

Fig 4

                       4. To verifying the result, I collect several group of data and use the Excel to make these data graphical for checking. Fig 6 is an example.

pastedImage_32.png

Fig 5

pastedImage_33.png

Fig 6

pastedImage_34.png

Fig 7

pastedImage_35.png

Fig 8

Labels (2)
Tags (2)
Comments

Super example. Much better than the ones in the SDK... Thanks!

Is there a same example available for the LPC55-series? There seem to be some differences in how to set-up the DMA compared to the LPC54 series.

Hi dingelen,

Thanks for your interest in the demo.
1) Is there a same example available for the LPC55-series?
-- After reviewing the RM, I find that the LPC55xx series also support the Ping-Pong feature, so this sample is able to be ported to the series.

pastedImage_1.png

Have a great day.

BR,

Jeremy

Hi Jeremy,

thanks for the fast reply. I figured the same was possible with the LPC55 but I'm somewhat stuck with this part:

     /* DMA initialization - enable DMA clocking and reset DMA if needed */
     Chip_DMA_Init(LPC_DMA);

     /* Enable DMA controller and use driver provided DMA table for current descriptors */
     Chip_DMA_Enable(LPC_DMA);
     Chip_DMA_SetSRAMBase(LPC_DMA, DMA_ADDR(Chip_DMA_Table));

     /* Setup channel 0 for the following configuration:
        - High channel priority
        - Interrupt A fires on descriptor completion */

     Chip_DMA_EnableChannel(LPC_DMA, DMA_CH0);
     Chip_DMA_EnableIntChannel(LPC_DMA, DMA_CH0);
     Chip_DMA_SetupChannelConfig(LPC_DMA, DMA_CH0,     //(DMA_CFG_PERIPHREQEN     |
                                   (DMA_CFG_HWTRIGEN        |
                                    DMA_CFG_TRIGBURST_BURST |
                                                         DMA_CFG_TRIGTYPE_EDGE   |
                                       DMA_CFG_TRIGPOL_LOW    |    //DMA_CFG_TRIGPOL_HIGH
                                       DMA_CFG_BURSTPOWER_1    |
                                    DMA_CFG_CHPRIORITY(0)
                                         )
                                       );


     //make sure ADC Sequence A interrupts is selected for for a DMA trigger
     LPC_INMUX->DMA_ITRIG_INMUX[0] = 0;

     /* Enable DMA interrupt */
     NVIC_EnableIRQ(DMA_IRQn);

     // The 1st descriptor is set up through the registers.

     /* Setup transfer descriptor and validate it */
     Chip_DMA_SetupTranChannel(LPC_DMA, DMA_CH0, &Initial_DMA_Descriptor);

     //Use the transfer configuration for our 4 main descriptors
     Chip_DMA_SetupChannelTransfer(LPC_DMA, DMA_CH0,     ADC_TransferDescriptors[0].xfercfg);
     Chip_DMA_SetValidChannel(LPC_DMA, DMA_CH0)

All these functions don't seem to be available in the LPC55 SDK. The examples in the SDK also only use some kind of polled start-stop, not an automaticly running setup. (See lpcxpresso55s69_lpadc_dma example)

It would be great if this last part could get ported.

Thanks!

Tom

Hi dingelen,

Thanks for your reply.
According to the above description, I still have no idea with the 'struck' issue actually, so I'd like to suggest that you'd better do more testing and provide more detailed information about the issue.

Have a great day.

BR,

Jeremy

Can the descriptors be defined as constants and setup at compile time, i.e. they'd be in FLASH not RAM?

A question to a minor point.

The example uses SCT to trigger the ADC.

For my code, I used a CTIMER (match event) to trigger the ADC sequence, which seems simpler, and easier to comprehend.

Is there an advantage of using the SCT ?

Hello @jeremyzhou,

I followed your implementation and modified to update a match register on the SCT block on a LPC54102. I am feeding this register with the values of the amplitud of a sine wave to generate a SPWM. 

 

The program is somewhat working but I noticed that the program is ignoring some values from the LUT.  do you have any suggestions on how to address this ???

 

 i will add part of the code. 

/*****************************************CODE************************************************/

#include "board.h"
 
#define SCT_PWM            LPC_SCT
#define DMA_TRANSFER_SIZE 64
 
#define SCT_PWM_RATE  10000          /* PWM frequency 10 KHz */
#define SCT_PWM_PIN_OUT    4          /* COUT7 Generate square wave */
#define SCT_PWM_OUT        1          /* Index of OUT PWM */
 
 
static CHIP_SYSCON_PLLCLKSRC_T curr_src=SYSCON_PLLCLKSRC_RTC;
static volatile bool dmaDone = false;static int fmode;
static int fmode;
 
 
 
#define TABLE_SIZE 128
uint16_t sine_table[TABLE_SIZE] __attribute__((aligned(16))) = {
610, 610, 610, 610, 610, 610, 610, 610,
859, 859, 859, 859, 859, 859, 859, 859,
1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
969, 969, 969, 969, 969, 969, 969, 969,
737, 737, 737, 737, 737, 737, 737, 737,
483, 483, 483, 483, 483, 483, 483, 483,
252, 252, 252, 252, 252, 252, 252, 252,
82, 82, 82, 82, 82, 82, 82, 82,
3, 3, 3, 3, 3, 3, 3, 3,
30, 30, 30, 30, 30, 30, 30, 30,
157, 157, 157, 157, 157, 157, 157, 157,
362, 362, 362, 362, 362, 362, 362, 362,
610, 610, 610, 610, 610, 610, 610, 610
 
};
 
 
ALIGN(512) DMA_CHDESC_T SCT_TransferDescriptors1,SCT_TransferDescriptors2;
uint16_t CapturedData[32];
uint16_t DMA_Sum=0;



void DMA_IRQHandler(void)
{
  
     /* Rrror interrupt on channel 0? */
     if ((Chip_DMA_GetIntStatus(LPC_DMA) & DMA_INTSTAT_ACTIVEERRINT) != 0)
     {
          /* This shouldn't happen for this simple DMA example, so set the LED
             to indicate an error occurred. This is the correct method to clear
             an abort. */
          Chip_DMA_DisableChannel(LPC_DMA, DMA_CH0);
          while ((Chip_DMA_GetBusyChannels(LPC_DMA) & (1 << DMA_CH0)) != 0) {}
          Chip_DMA_AbortChannel(LPC_DMA, DMA_CH0);
          Chip_DMA_ClearErrorIntChannel(LPC_DMA, DMA_CH0);
          Chip_DMA_EnableChannel(LPC_DMA, DMA_CH0);
          Board_LED_Set(0, true);
     }
 
 
 
     /* Clear DMA interrupt for the channel */
     LPC_DMA->DMACOMMON[0].INTA = 1;
}
 
 
void DMA_Setup(void)
{
    SCT_TransferDescriptors1.source = (uint32_t)(&sine_table[TABLE_SIZE-1]);
    SCT_TransferDescriptors1.dest = (uint32_t)(&(LPC_SCT->MATCHREL[1].U));
    SCT_TransferDescriptors1.next = (uint32_t)(&SCT_TransferDescriptors2);
    SCT_TransferDescriptors1.xfercfg = DMA_XFERCFG_CFGVALID | DMA_XFERCFG_SETINTA |
                                      DMA_XFERCFG_WIDTH_16 | DMA_XFERCFG_SRCINC_1 | DMA_XFERCFG_DSTINC_0 |
                                      DMA_XFERCFG_XFERCOUNT((TABLE_SIZE)) | DMA_XFERCFG_RELOAD;
 
    // Configuración del segundo descriptor (igual que el primero, pero enlazando de regreso al primero)
    SCT_TransferDescriptors2.source = (uint32_t)(&sine_table[(TABLE_SIZE-1)]);
    SCT_TransferDescriptors2.dest = (uint32_t)(&(LPC_SCT->MATCHREL[1].U));
    SCT_TransferDescriptors2.next = (uint32_t) (&SCT_TransferDescriptors1);
    SCT_TransferDescriptors2.xfercfg = DMA_XFERCFG_CFGVALID | DMA_XFERCFG_SETINTA |
                                      DMA_XFERCFG_WIDTH_16 | DMA_XFERCFG_SRCINC_1 | DMA_XFERCFG_DSTINC_0 |
                                      DMA_XFERCFG_XFERCOUNT((TABLE_SIZE)) | DMA_XFERCFG_RELOAD;
 
 
 
 
    /* DMA initialization - enable DMA clocking and reset DMA if needed */
    Chip_DMA_Init(LPC_DMA);
 
    /* Enable DMA controller and use driver provided DMA table for current descriptors */
    Chip_DMA_Enable(LPC_DMA);
    Chip_DMA_SetSRAMBase(LPC_DMA, DMA_ADDR(Chip_DMA_Table));
 
    /* Setup channel for the given configurations */
    Chip_DMA_EnableChannel(LPC_DMA, DMA_CH0);
    Chip_DMA_EnableIntChannel(LPC_DMA, DMA_CH0);
Chip_DMA_SetupChannelConfig(LPC_DMA, DMA_CH0, (DMA_CFG_HWTRIGEN | DMA_CFG_TRIGBURST_BURST | DMA_CFG_TRIGTYPE_LEVEL | DMA_CFG_TRIGPOL_LOW  | DMA_CFG_CHPRIORITY(0)));
 
 
 
    /* Set ADC Sequence A interrupts for a DMA trigger */
    LPC_INMUX->DMA_ITRIG_INMUX[0] = DMATRIG_SCT0_DMA0;
 
    /* Enable DMA interrupt */
    NVIC_EnableIRQ(DMA_IRQn);
 
    /* Setup the initial descriptor */
    Chip_DMA_SetupTranChannel(LPC_DMA, DMA_CH0, &SCT_TransferDescriptors1);
 
    /* Use the transfer configuration for our descriptors */
    Chip_DMA_SetupChannelTransfer(LPC_DMA, DMA_CH0, SCT_TransferDescriptors1.xfercfg);
    Chip_DMA_SetValidChannel(LPC_DMA, DMA_CH0);
}
 
void SCT_PWM_Generate(void)
{
         /* Initialize the SCT as PWM and set frequency */
     Chip_SCTPWM_Init(SCT_PWM);
     Chip_SCTPWM_SetRate(SCT_PWM, SCT_PWM_RATE);
 
     /* Setup Board specific output pin */
     Chip_IOCON_PinMuxSet(LPC_IOCON, 1, 1, IOCON_FUNC3 | IOCON_MODE_INACT | IOCON_DIGITAL_EN | IOCON_INPFILT_OFF);
     /* Use SCT0_OUT7 pin */
     Chip_SCTPWM_SetOutPin(SCT_PWM, SCT_PWM_OUT, SCT_PWM_PIN_OUT);
 
        
     /* Start with 50% duty cycle */
     Chip_SCTPWM_SetDutyCycle(SCT_PWM, SCT_PWM_OUT, Chip_SCTPWM_PercentageToTicks(SCT_PWM, 10));
     Chip_SCTPWM_Start(SCT_PWM);    
}
 
 
int main(void)
{
  
    SystemCoreClockUpdate();
    Board_Init();
    SystemCoreClockUpdate();
 
 
SCT_PWM_Generate();
    DMA_Setup();
    
 
    
    while(1)
    {}
    
}
%3CLINGO-SUB%20id%3D%22lingo-sub-1120977%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EDMA%20Ping-Pong%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1120977%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CH1%20id%3D%22toc-hId-382340890%22%20style%3D%22margin-left%3A%20.5in%3B%20text-indent%3A%20-.25in%3B%22%20id%3D%22toc-hId-382340890%22%20id%3D%22toc-hId-1297753867%22%3EOverview%3C%2FH1%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3BPing-pong%20is%20a%20special%20case%20of%20a%20linked%20transfer%20which%20typically%20used%20more%20frequently%20than%20more%20complicated%20versions%20of%20linked%20transfers.%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3EA%20ping-pong%20transfer%20usually%20uses%20at%20least%20two%20buffers.%20At%20any%20one%20time%2C%20one%20buffer%20is%20being%20loaded%20or%20unloaded%20by%20DMA%20operations.%20The%20other%20buffers%20have%20the%20opposite%20operation%20being%20handled%20by%20software%2C%20readying%20the%20buffer%20for%20use%20when%20the%20buffer%20currently%20being%20used%20by%20the%20DMA%20controller%20is%20full%20or%20empty.%20The%20Fig%201%20illustrates%20an%20example%20of%20descriptors%20for%20ping-pong%20from%20a%20peripheral%20to%20two%20buffers%20in%20memory.%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_1.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_1.png%22%20style%3D%22width%3A%20405px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F25769i658D2EDE516BE21D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_1.png%22%20alt%3D%22pastedImage_1.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200.0001pt%3B%20text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3EFig%201%3C%2FSPAN%3E%3C%2FP%3E%3CH1%20id%3D%22toc-hId--1425113573%22%20style%3D%22margin-left%3A%20.5in%3B%20text-indent%3A%20-.25in%3B%22%20id%3D%22toc-hId--1425113573%22%20id%3D%22toc-hId--509700596%22%3EImplementation%20detail%3C%2FH1%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20To%20continuous%20transfer%20the%20converted%20result%20of%20the%20ADC%20to%20RAM%2C%20I%E2%80%99m%20going%20to%20use%20four%204%20DMA%20descriptors%20to%20work%20in%20Ping-Pong%20mode%20to%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3Eachieve%20this%20goal%20as%20the%20Fig%202%20shows.%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_5.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_5.png%22%20style%3D%22width%3A%20495px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F25869i7A4C85995FEFC44C%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_5.png%22%20alt%3D%22pastedImage_5.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3EFig%202%20Data%20flow%20via%20Ping-Pong%20mode%3C%2FSPAN%3E%3C%2FP%3E%3CH1%20id%3D%22toc-hId-1062399260%22%20style%3D%22margin-left%3A%20.5in%3B%20text-indent%3A%20-.25in%3B%22%20id%3D%22toc-hId-1062399260%22%20id%3D%22toc-hId-1977812237%22%3EHardware%20introduction%3C%2FH1%3E%3CUL%3E%3CLI%20style%3D%22text-indent%3A%20-.25in%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3ELPCXpressor54114%20Board%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%20color%3A%20black%3B%22%3E%EF%BC%88%3C%2FSPAN%3E%3CA%20href%3D%22http%3A%2F%2Fwww.nxp.com%2Fproducts%2Fsoftware-and-tools%2Fhardware-development-tools%2Flpcxpresso-boards%2Flpcxpresso54114-board%3AOM13089%3Flang%3Den%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3EOM13089%3C%2FSPAN%3E%3C%2FA%3E%EF%BC%89%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_8.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_8.png%22%20style%3D%22width%3A%20268px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F25915i614B6BA414D2979E%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_8.png%22%20alt%3D%22pastedImage_8.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3EFig%203%20LPCXpressor54114%20Board%3C%2FSPAN%3E%3C%2FP%3E%3CUL%3E%3CLI%20style%3D%22text-indent%3A%20-.25in%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3EDemo%20code%3A%20%3C%2FSPAN%3E%3CA%20href%3D%22http%3A%2F%2Fwww.nxp.com%2Fproducts%2Fsoftware-and-tools%2Fsoftware-development-tools%2Fsoftware-tools%2Flpcopen-libraries-and-examples%2Flpcopen-software-development-platform-lpc5411x%3ALPCOPEN-SOFTWARE-FOR-LPC5411X%3F%26amp%3Blang%3Den%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3ELPCOpen%20Library%3C%2FSPAN%3E%3C%2FA%3E%3C%2FLI%3E%3C%2FUL%3E%3CH1%20id%3D%22toc-hId--745055203%22%20style%3D%22margin-left%3A%20.5in%3B%20text-indent%3A%20-.25in%3B%22%20id%3D%22toc-hId--745055203%22%20id%3D%22toc-hId-170357774%22%3EExample%20code%3C%2FH1%3E%3CP%3E%3CSPAN%20style%3D%22margin-left%3A%2058.95pt%3B%20text-indent%3A%20-.25in%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20The%20code%20is%20based%20on%20the%20periph_adc%20demo%2C%20using%20the%20SCTimer%20output%20as%20the%20hardware%20trigger%20of%20ADC%2C%20meanwhile%2C%20the%20ADC%20converted%20value%20is%20transferred%20to%20the%20appointed%20area%20of%20RAM%20automatically.%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20class%3D%22language-c%20line-numbers%22%3E%3CCODE%3E%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23include%20%3CSPAN%20class%3D%22string%20token%22%3E%22board.h%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20SCT_PWM%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LPC_SCT%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20NUM_BUFFERS%204%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20DMA_TRANSFER_SIZE%208%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20ADC_INPUT_CHANNEL%201%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20SCT_PWM_RATE%26nbsp%3B%26nbsp%3B%2010000%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20PWM%20frequency%2010%20KHz%20*%2F%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20SCT_PWM_PIN_OUT%26nbsp%3B%26nbsp%3B%26nbsp%3B%207%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20COUT7%20Generate%20square%20wave%20*%2F%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22property%20macro%20token%22%3E%23define%20SCT_PWM_OUT%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%201%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Index%20of%20OUT%20PWM%20*%2F%3C%2FSPAN%3E%0A%0Auint16_t%20adcOut%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22token%20function%22%3EALIGN%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E512%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20DMA_CHDESC_T%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3ENUM_BUFFERS%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%0Auint16_t%20CapturedData%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E32%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0Auint16_t%20DMA_Sum%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22comment%20token%22%3E%2F**%0A%20*%0A%20*%20ADC%20IRQ%20not%20Used%20right%20now...%20Only%20for%20testing%0A%20*%2F%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EADC_SEQA_IRQHandler%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20If%20SeqA%20flags%20is%20set%20i.e.%20data%20in%20global%20register%20is%20valid%20then%20read%20it%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_GPIO_SetPinState%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_GPIO%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E6%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20true%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FDEBUGOUT(%22ADC%20Output%20%3D%20%25d%5Cr%5Cn%22%2C%20adcOut)%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_GPIO_SetPinState%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_GPIO%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E6%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20false%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_ADC_ClearFlags%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0xFFFFFFFF%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%0A%0A%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EDMA_IRQHandler%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Estatic%3C%2FSPAN%3E%20uint16_t%20DMA_Sum%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_Sum%3CSPAN%20class%3D%22operator%20token%22%3E%2B%2B%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Eif%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EDMA_Sum%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3D%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E8%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_Sum%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E4%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_GPIO_SetPinState%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_GPIO%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E7%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3Etrue%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Rrror%20interrupt%20on%20channel%200%3F%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Eif%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_GetIntStatus%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%20DMA_INTSTAT_ACTIVEERRINT%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E!%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20This%20shouldn't%20happen%20for%20this%20simple%20DMA%20example%2C%20so%20set%20the%20LED%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20to%20indicate%20an%20error%20occurred.%20This%20is%20the%20correct%20method%20to%20clear%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20an%20abort.%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_DisableChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Ewhile%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_GetBusyChannels%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%26lt%3B%26lt%3B%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E!%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_AbortChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_ClearErrorIntChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_EnableChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EBoard_LED_Set%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20true%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_GPIO_SetPinState%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_GPIO%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E7%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3Efalse%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Clear%20DMA%20interrupt%20for%20the%20channel%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LPC_DMA%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3EDMACOMMON%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3EINTA%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%0A%0A%0A%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F***%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20____%26nbsp%3B%20__%26nbsp%3B%20__%26nbsp%3B%26nbsp%3B%26nbsp%3B%20_%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%26nbsp%3B%20_%20%5C%7C%26nbsp%3B%20%5C%2F%26nbsp%3B%20%7C%26nbsp%3B%20%2F%20%5C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%20%7C%20%7C%20%7C%20%7C%5C%2F%7C%20%7C%20%2F%20_%20%5C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%20%7C_%7C%20%7C%20%7C%26nbsp%3B%20%7C%20%7C%2F%20___%20%5C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C____%2F%7C_%7C%26nbsp%3B%20%7C_%2F_%2F%26nbsp%3B%26nbsp%3B%20%5C_%5C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%20___%7C%26nbsp%3B%20___%7C%20%7C_%20_%26nbsp%3B%26nbsp%3B%20_%20_%20__%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%5C___%20%5C%20%2F%20_%20%5C%20__%7C%20%7C%20%7C%20%7C%20'_%20%5C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20___)%20%7C%26nbsp%3B%20__%2F%20%7C_%7C%20%7C_%7C%20%7C%20%7C_)%20%7C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C____%2F%20%5C___%7C%5C__%7C%5C__%2C_%7C%20.__%2F%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C_%7C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%2F%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EDMA_Steup%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CHDESC_T%20Initial_DMA_Descriptor%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Esource%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3ESEQ_GDAT%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Esource%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3ESEQ_GDAT%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E2%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Esource%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3ESEQ_GDAT%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E3%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Esource%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3ESEQ_GDAT%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Edest%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3ECapturedData%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%2B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3EDMA_TRANSFER_SIZE%3CSPAN%20class%3D%22number%20token%22%3E-1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Edest%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3ECapturedData%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%2B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3EDMA_TRANSFER_SIZE%3CSPAN%20class%3D%22number%20token%22%3E-1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E2%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Edest%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3ECapturedData%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E2%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%2B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3EDMA_TRANSFER_SIZE%3CSPAN%20class%3D%22number%20token%22%3E-1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E3%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Edest%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3ECapturedData%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E3%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%2B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E*%3C%2FSPAN%3EDMA_TRANSFER_SIZE%3CSPAN%20class%3D%22number%20token%22%3E-1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FThe%20initial%20DMA%20desciptor%20is%20the%20same%20as%20the%201st%20transfer%20descriptor.%26nbsp%3B%26nbsp%3B%20It%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FWill%20link%20into%20the%202nd%20of%20the%20main%20descriptors.%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Enext%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3EADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Enext%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3EADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E2%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E2%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Enext%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3EADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E3%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FLink%20back%20to%20the%201st%20descriptor%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E3%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Enext%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3EADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FFor%20a%20test%2C%26nbsp%3B%20stop%20the%20transfers%20here.%26nbsp%3B%26nbsp%3B%20The%20sine%20wave%20will%20look%20fine.%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FADC_TransferDescriptors%5B3%5D.next%20%3D%200%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EDMA_XFERCFG_CFGVALID%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_RELOAD%26nbsp%3B%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_SETINTA%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_WIDTH_16%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_SRCINC_0%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_DSTINC_1%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EDMA_XFERCFG_XFERCOUNT%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EDMA_TRANSFER_SIZE%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E2%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E3%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EDMA_XFERCFG_CFGVALID%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_RELOAD%26nbsp%3B%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_SETINTA%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_WIDTH_16%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_SRCINC_0%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_XFERCFG_DSTINC_1%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EDMA_XFERCFG_XFERCOUNT%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EDMA_TRANSFER_SIZE%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Initial_DMA_Descriptor%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Esource%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Esource%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Initial_DMA_Descriptor%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Edest%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Edest%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Initial_DMA_Descriptor%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Enext%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3Euint32_t%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3EADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Initial_DMA_Descriptor%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20DMA%20initialization%20-%20enable%20DMA%20clocking%20and%20reset%20DMA%20if%20needed%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_Init%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Enable%20DMA%20controller%20and%20use%20driver%20provided%20DMA%20table%20for%20current%20descriptors%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_Enable%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_SetSRAMBase%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EDMA_ADDR%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EChip_DMA_Table%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Setup%20channel%200%20for%20the%20following%20configuration%3A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20-%20High%20channel%20priority%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20-%20Interrupt%20A%20fires%20on%20descriptor%20completion%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_EnableChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_EnableIntChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_SetupChannelConfig%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F(DMA_CFG_PERIPHREQEN%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EDMA_CFG_HWTRIGEN%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CFG_TRIGBURST_BURST%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CFG_TRIGTYPE_EDGE%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CFG_TRIGPOL_LOW%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FDMA_CFG_TRIGPOL_HIGH%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CFG_BURSTPOWER_1%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EDMA_CFG_CHPRIORITY%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fmake%20sure%20ADC%20Sequence%20A%20interrupts%20is%20selected%20for%20for%20a%20DMA%20trigger%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LPC_INMUX%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3EDMA_ITRIG_INMUX%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Enable%20DMA%20interrupt%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3ENVIC_EnableIRQ%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EDMA_IRQn%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2F%20The%201st%20descriptor%20is%20set%20up%20through%20the%20registers.%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Setup%20transfer%20descriptor%20and%20validate%20it%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_SetupTranChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%26amp%3B%3C%2FSPAN%3EInitial_DMA_Descriptor%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FUse%20the%20transfer%20configuration%20for%20our%204%20main%20descriptors%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_SetupChannelTransfer%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22punctuation%20token%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E.%3C%2FSPAN%3Exfercfg%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_DMA_SetValidChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3ESCT_PWM_Generate%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Initialize%20the%20SCT%20as%20PWM%20and%20set%20frequency%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_SCTPWM_Init%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ESCT_PWM%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_SCTPWM_SetRate%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ESCT_PWM%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20SCT_PWM_RATE%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Setup%20Board%20specific%20output%20pin%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_IOCON_PinMuxSet%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_IOCON%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E14%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20IOCON_FUNC3%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20IOCON_MODE_INACT%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20IOCON_DIGITAL_EN%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20IOCON_INPFILT_OFF%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Use%20SCT0_OUT7%20pin%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_SCTPWM_SetOutPin%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ESCT_PWM%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20SCT_PWM_OUT%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20SCT_PWM_PIN_OUT%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Start%20with%2050%25%20duty%20cycle%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_SCTPWM_SetDutyCycle%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ESCT_PWM%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20SCT_PWM_OUT%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EChip_SCTPWM_PercentageToTicks%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ESCT_PWM%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E10%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_SCTPWM_Start%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ESCT_PWM%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F***%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20_%26nbsp%3B%26nbsp%3B%26nbsp%3B%20____%26nbsp%3B%26nbsp%3B%20____%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%20%5C%26nbsp%3B%20%7C%26nbsp%3B%20_%20%5C%20%2F%20___%7C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%20_%20%5C%20%7C%20%7C%20%7C%20%7C%20%7C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%20___%20%5C%7C%20%7C_%7C%20%7C%20%7C___%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F_%2F__%20%5C_%5C____%2F%20%5C____%7C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%20___%7C%26nbsp%3B%20___%7C%20%7C_%20_%26nbsp%3B%26nbsp%3B%20_%20_%20__%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%5C___%20%5C%20%2F%20_%20%5C%20__%7C%20%7C%20%7C%20%7C%20'_%20%5C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20___)%20%7C%26nbsp%3B%20__%2F%20%7C_%7C%20%7C_%7C%20%7C%20%7C_)%20%7C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C____%2F%20%5C___%7C%5C__%7C%5C__%2C_%7C%20.__%2F%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C_%7C%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20*%2F%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EADC_Steup%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*Set%20Asynch%20Clock%20to%20the%20Main%20clock*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LPC_SYSCON%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3EADCCLKSEL%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2FSet%20the%20divider%20to%201%20and%20enable.%26nbsp%3B%20note%2C%26nbsp%3B%20the%20HALT%20bit%20(30)%20and%20RESET%20(29)%20are%20not%20in%20the%20manual%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LPC_SYSCON%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3EADCCLKDIV%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Initialization%20ADC%20to%2012%20bit%20and%20set%20clock%20divide%20to%201%20to%20operate%20synchronously%20at%20System%20clock%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_ADC_Init%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EADC_CR_RESOL%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E3%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3EADC_CR_CLKDIV%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20ADC_CR_ASYNC_MODE%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F%2Fselect%20ADC%20Channel%201%20as%20input%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_IOCON_PinMuxSet%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_IOCON%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E30%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20IOCON_FUNC0%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20IOCON_ANALOG_EN%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%20IOCON_INPFILT_OFF%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LPC_ADC%3CSPAN%20class%3D%22operator%20token%22%3E-%26gt%3B%3C%2FSPAN%3EINSEL%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22number%20token%22%3E0x01%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_ADC_SetupSequencer%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3EADC_SEQA_IDX%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_SEQ_CTRL_SEQ_ENA%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EADC_SEQ_CTRL_CHANNEL_EN%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EADC_INPUT_CHANNEL%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EADC_SEQ_CTRL_TRIGGER%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E2%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_SEQ_CTRL_HWTRIG_POLPOS%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_SEQ_CTRL_HWTRIG_SYNCBYPASS%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_SEQ_CTRL_MODE_EOS%20%3CSPAN%20class%3D%22operator%20token%22%3E%7C%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_SEQ_CTRL_SEQ_ENA%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Enable%20Sequence%20A%20interrupt%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EChip_ADC_EnableInt%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22punctuation%20token%22%3E%2C%3C%2FSPAN%3E%20ADC_INTEN_SEQA_ENABLE%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Calibrate%20ADC%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Eif%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22token%20function%22%3EChip_ADC_Calibration%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3ELPC_ADC%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22operator%20token%22%3E%3D%3D%3C%2FSPAN%3E%20LPC_OK%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22comment%20token%22%3E%2F*%20Enable%20ADC%20SeqA%20Interrupt%20*%2F%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3ENVIC_EnableIRQ%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3EADC_SEQA_IRQn%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Eelse%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EDEBUGSTR%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22string%20token%22%3E%22ADC%20Calibration%20Failed%20%5Cr%5Cn%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Ereturn%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22keyword%20token%22%3Eint%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22token%20function%22%3Emain%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22keyword%20token%22%3Evoid%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%0A%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3ESystemCoreClockUpdate%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EBoard_Init%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EDMA_Steup%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3EADC_Steup%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22token%20function%22%3ESCT_PWM_Generate%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%3B%3C%2FSPAN%3E%0A%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22keyword%20token%22%3Ewhile%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22number%20token%22%3E1%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E)%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22punctuation%20token%22%3E%7B%3C%2FSPAN%3E%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%0A%3CSPAN%20class%3D%22punctuation%20token%22%3E%7D%3C%2FSPAN%3E%0A%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%E2%80%8D%3CSPAN%20class%3D%22line-numbers-rows%22%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8D%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CH1%20id%3D%22toc-hId-1742457630%22%20style%3D%22margin-left%3A%20.5in%3B%20text-indent%3A%20-.25in%3B%22%20id%3D%22toc-hId-1742457630%22%20id%3D%22toc-hId--1637096689%22%3E%26nbsp%3BVerification%3C%2FH1%3E%3COL%3E%3CLI%20style%3D%22margin-left%3A%2058.95pt%3B%20text-indent%3A%20-.25in%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Building%20the%20project%2C%20then%20click%20the%20%26nbsp%3B%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_25.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_25.png%22%20style%3D%22width%3A%2022px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F26033i734E464F8F6F7101%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_25.png%22%20alt%3D%22pastedImage_25.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3Eto%20debug%3B%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%20style%3D%22margin-left%3A%2058.95pt%3B%20text-indent%3A%20-.25in%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Generate%20the%20sine%20wave%3A%201%20KHz%2C%20%E5%B9%85%E5%BA%A6%EF%BC%9A0~2%20V%EF%BC%8Cfeed%20the%20wave%20the%20ADC%20via%20the%20J9_1%EF%BC%88P0_30-ADC1%EF%BC%89%3B%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%20style%3D%22margin-left%3A%2058.95pt%3B%20text-indent%3A%20-.25in%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Setting%20the%20breakpoint%20(Fig%204)%20to%20observe%20the%20ADC%20converted%20value%20CapturedData%5B32%5D%EF%BC%9B%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_26.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_26.png%22%20style%3D%22width%3A%20391px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F26107i9A3B0A36E41F3697%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_26.png%22%20alt%3D%22pastedImage_26.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%3CSPAN%3EFig%204%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3E%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%204.%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3ETo%20verifying%20the%20result%2C%20I%20collect%20several%20group%20of%20data%20and%20use%20the%20Excel%20to%20make%20these%20data%20graphical%20for%20checking.%20Fig%206%20is%20an%20example.%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_32.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_32.png%22%20style%3D%22width%3A%20266px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F25804i91F9BD4DDCBC676B%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_32.png%22%20alt%3D%22pastedImage_32.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3EFig%205%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_33.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_33.png%22%20style%3D%22width%3A%20300px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F26037iF76ED93561EAF8C5%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_33.png%22%20alt%3D%22pastedImage_33.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3EFig%206%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_34.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_34.png%22%20style%3D%22width%3A%20275px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F26149iF6753E5FF2C14B17%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_34.png%22%20alt%3D%22pastedImage_34.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3EFig%207%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_35.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_35.png%22%20style%3D%22width%3A%20479px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F26193i4EC3EE37D2361FC0%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_35.png%22%20alt%3D%22pastedImage_35.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-align%3A%20center%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3EFig%208%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1120977%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELPC54xxx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELPCOpen%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1740680%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20DMA%20Ping-Pong%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1740680%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F56840%22%20target%3D%22_blank%22%3E%40jeremyzhou%3C%2FA%3E%2C%3CBR%20%2F%3E%3CBR%20%2F%3EI%20followed%20your%20implementation%20and%20modified%20to%20update%20a%20match%20register%20on%20the%20SCT%20block%20on%20a%20LPC54102.%20I%20am%20feeding%20this%20register%20with%20the%20values%20of%20the%20amplitud%20of%20a%20sine%20wave%20to%20generate%20a%20SPWM.%26nbsp%3B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EThe%20program%20is%20somewhat%20working%20but%20I%20noticed%20that%20the%20program%20is%20ignoring%20some%20values%20from%20the%20LUT.%26nbsp%3B%20do%20you%20have%20any%20suggestions%20on%20how%20to%20address%20this%20%3F%3F%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%26nbsp%3Bi%20will%20add%20part%20of%20the%20code.%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*****************************************CODE************************************************%2F%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CDIV%3E%23include%20%22board.h%22%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%23define%20SCT_PWM%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20LPC_SCT%3C%2FDIV%3E%3CDIV%3E%23define%20DMA_TRANSFER_SIZE%2064%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%23define%20SCT_PWM_RATE%26nbsp%3B%2010000%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%2F*%20PWM%20frequency%2010%20KHz%20*%2F%3C%2FDIV%3E%3CDIV%3E%23define%20SCT_PWM_PIN_OUT%26nbsp%3B%20%26nbsp%3B%204%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%2F*%20COUT7%20Generate%20square%20wave%20*%2F%3C%2FDIV%3E%3CDIV%3E%23define%20SCT_PWM_OUT%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%201%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%2F*%20Index%20of%20OUT%20PWM%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Estatic%20CHIP_SYSCON_PLLCLKSRC_T%20curr_src%3DSYSCON_PLLCLKSRC_RTC%3B%3C%2FDIV%3E%3CDIV%3Estatic%20volatile%20bool%20dmaDone%20%3D%20false%3Bstatic%20int%20fmode%3B%3C%2FDIV%3E%3CDIV%3Estatic%20int%20fmode%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%23define%20TABLE_SIZE%20128%3C%2FDIV%3E%3CDIV%3Euint16_t%20sine_table%5BTABLE_SIZE%5D%20__attribute__((aligned(16)))%20%3D%20%7B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E610%2C%20610%2C%20610%2C%20610%2C%20610%2C%20610%2C%20610%2C%20610%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E859%2C%20859%2C%20859%2C%20859%2C%20859%2C%20859%2C%20859%2C%20859%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E1064%2C%201064%2C%201064%2C%201064%2C%201064%2C%201064%2C%201064%2C%201064%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E1191%2C%201191%2C%201191%2C%201191%2C%201191%2C%201191%2C%201191%2C%201191%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E1217%2C%201217%2C%201217%2C%201217%2C%201217%2C%201217%2C%201217%2C%201217%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E1139%2C%201139%2C%201139%2C%201139%2C%201139%2C%201139%2C%201139%2C%201139%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E969%2C%20969%2C%20969%2C%20969%2C%20969%2C%20969%2C%20969%2C%20969%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E737%2C%20737%2C%20737%2C%20737%2C%20737%2C%20737%2C%20737%2C%20737%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E483%2C%20483%2C%20483%2C%20483%2C%20483%2C%20483%2C%20483%2C%20483%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E252%2C%20252%2C%20252%2C%20252%2C%20252%2C%20252%2C%20252%2C%20252%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E82%2C%2082%2C%2082%2C%2082%2C%2082%2C%2082%2C%2082%2C%2082%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E3%2C%203%2C%203%2C%203%2C%203%2C%203%2C%203%2C%203%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E30%2C%2030%2C%2030%2C%2030%2C%2030%2C%2030%2C%2030%2C%2030%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E157%2C%20157%2C%20157%2C%20157%2C%20157%2C%20157%2C%20157%2C%20157%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E362%2C%20362%2C%20362%2C%20362%2C%20362%2C%20362%2C%20362%2C%20362%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E610%2C%20610%2C%20610%2C%20610%2C%20610%2C%20610%2C%20610%2C%20610%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%7D%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EALIGN(512)%20DMA_CHDESC_T%20SCT_TransferDescriptors1%2CSCT_TransferDescriptors2%3B%3C%2FDIV%3E%3CDIV%3Euint16_t%20CapturedData%5B32%5D%3B%3C%2FDIV%3E%3CDIV%3Euint16_t%20DMA_Sum%3D0%3B%3C%2FDIV%3E%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CDIV%3Evoid%20DMA_IRQHandler(void)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%2F*%20Rrror%20interrupt%20on%20channel%200%3F%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3Bif%20((Chip_DMA_GetIntStatus(LPC_DMA)%20%26amp%3B%20DMA_INTSTAT_ACTIVEERRINT)%20!%3D%200)%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%2F*%20This%20shouldn't%20happen%20for%20this%20simple%20DMA%20example%2C%20so%20set%20the%20LED%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3Bto%20indicate%20an%20error%20occurred.%20This%20is%20the%20correct%20method%20to%20clear%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3Ban%20abort.%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_DisableChannel(LPC_DMA%2C%20DMA_CH0)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20while%20((Chip_DMA_GetBusyChannels(LPC_DMA)%20%26amp%3B%20(1%20%26lt%3B%26lt%3B%20DMA_CH0))%20!%3D%200)%20%7B%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_AbortChannel(LPC_DMA%2C%20DMA_CH0)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_ClearErrorIntChannel(LPC_DMA%2C%20DMA_CH0)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_EnableChannel(LPC_DMA%2C%20DMA_CH0)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20Board_LED_Set(0%2C%20true)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%2F*%20Clear%20DMA%20interrupt%20for%20the%20channel%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BLPC_DMA-%26gt%3BDMACOMMON%5B0%5D.INTA%20%3D%201%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Evoid%20DMA_Setup(void)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SCT_TransferDescriptors1.source%20%3D%20(uint32_t)(%26amp%3Bsine_table%5BTABLE_SIZE-1%5D)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SCT_TransferDescriptors1.dest%20%3D%20(uint32_t)(%26amp%3B(LPC_SCT-%26gt%3BMATCHREL%5B1%5D.U))%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SCT_TransferDescriptors1.next%20%3D%20(uint32_t)(%26amp%3BSCT_TransferDescriptors2)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SCT_TransferDescriptors1.xfercfg%20%3D%20DMA_XFERCFG_CFGVALID%20%7C%20DMA_XFERCFG_SETINTA%20%7C%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20DMA_XFERCFG_WIDTH_16%20%7C%20DMA_XFERCFG_SRCINC_1%20%7C%20DMA_XFERCFG_DSTINC_0%20%7C%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20DMA_XFERCFG_XFERCOUNT((TABLE_SIZE))%20%7C%20DMA_XFERCFG_RELOAD%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%2F%2F%20Configuraci%C3%B3n%20del%20segundo%20descriptor%20(igual%20que%20el%20primero%2C%20pero%20enlazando%20de%20regreso%20al%20primero)%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SCT_TransferDescriptors2.source%20%3D%20(uint32_t)(%26amp%3Bsine_table%5B(TABLE_SIZE-1)%5D)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SCT_TransferDescriptors2.dest%20%3D%20(uint32_t)(%26amp%3B(LPC_SCT-%26gt%3BMATCHREL%5B1%5D.U))%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SCT_TransferDescriptors2.next%20%3D%20(uint32_t)%20(%26amp%3BSCT_TransferDescriptors1)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SCT_TransferDescriptors2.xfercfg%20%3D%20DMA_XFERCFG_CFGVALID%20%7C%20DMA_XFERCFG_SETINTA%20%7C%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20DMA_XFERCFG_WIDTH_16%20%7C%20DMA_XFERCFG_SRCINC_1%20%7C%20DMA_XFERCFG_DSTINC_0%20%7C%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20DMA_XFERCFG_XFERCOUNT((TABLE_SIZE))%20%7C%20DMA_XFERCFG_RELOAD%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%2F*%20DMA%20initialization%20-%20enable%20DMA%20clocking%20and%20reset%20DMA%20if%20needed%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_Init(LPC_DMA)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%2F*%20Enable%20DMA%20controller%20and%20use%20driver%20provided%20DMA%20table%20for%20current%20descriptors%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_Enable(LPC_DMA)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_SetSRAMBase(LPC_DMA%2C%20DMA_ADDR(Chip_DMA_Table))%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%2F*%20Setup%20channel%20for%20the%20given%20configurations%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_EnableChannel(LPC_DMA%2C%20DMA_CH0)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_EnableIntChannel(LPC_DMA%2C%20DMA_CH0)%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EChip_DMA_SetupChannelConfig(LPC_DMA%2C%20DMA_CH0%2C%20(DMA_CFG_HWTRIGEN%20%7C%20DMA_CFG_TRIGBURST_BURST%20%7C%20DMA_CFG_TRIGTYPE_LEVEL%20%7C%20DMA_CFG_TRIGPOL_LOW%26nbsp%3B%20%7C%20DMA_CFG_CHPRIORITY(0)))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%2F*%20Set%20ADC%20Sequence%20A%20interrupts%20for%20a%20DMA%20trigger%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20LPC_INMUX-%26gt%3BDMA_ITRIG_INMUX%5B0%5D%20%3D%20DMATRIG_SCT0_DMA0%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%2F*%20Enable%20DMA%20interrupt%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20NVIC_EnableIRQ(DMA_IRQn)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%2F*%20Setup%20the%20initial%20descriptor%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_SetupTranChannel(LPC_DMA%2C%20DMA_CH0%2C%20%26amp%3BSCT_TransferDescriptors1)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%2F*%20Use%20the%20transfer%20configuration%20for%20our%20descriptors%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_SetupChannelTransfer(LPC_DMA%2C%20DMA_CH0%2C%20SCT_TransferDescriptors1.xfercfg)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Chip_DMA_SetValidChannel(LPC_DMA%2C%20DMA_CH0)%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CDIV%3Evoid%20SCT_PWM_Generate(void)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%2F*%20Initialize%20the%20SCT%20as%20PWM%20and%20set%20frequency%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BChip_SCTPWM_Init(SCT_PWM)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BChip_SCTPWM_SetRate(SCT_PWM%2C%20SCT_PWM_RATE)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%2F*%20Setup%20Board%20specific%20output%20pin%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BChip_IOCON_PinMuxSet(LPC_IOCON%2C%201%2C%201%2C%20IOCON_FUNC3%20%7C%20IOCON_MODE_INACT%20%7C%20IOCON_DIGITAL_EN%20%7C%20IOCON_INPFILT_OFF)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%2F*%20Use%20SCT0_OUT7%20pin%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BChip_SCTPWM_SetOutPin(SCT_PWM%2C%20SCT_PWM_OUT%2C%20SCT_PWM_PIN_OUT)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%2F*%20Start%20with%2050%25%20duty%20cycle%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BChip_SCTPWM_SetDutyCycle(SCT_PWM%2C%20SCT_PWM_OUT%2C%20Chip_SCTPWM_PercentageToTicks(SCT_PWM%2C%2010))%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BChip_SCTPWM_Start(SCT_PWM)%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Eint%20main(void)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SystemCoreClockUpdate()%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20Board_Init()%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20SystemCoreClockUpdate()%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ESCT_PWM_Generate()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20DMA_Setup()%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20while(1)%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%7B%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1120983%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20DMA%20Ping-Pong%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1120983%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EA%20question%20to%20a%20minor%20point.%3C%2FP%3E%3CP%3EThe%20example%20uses%20SCT%20to%20trigger%20the%20ADC.%3C%2FP%3E%3CP%3EFor%20my%20code%2C%20I%20used%20a%20CTIMER%20(match%20event)%20to%20trigger%26nbsp%3Bthe%20ADC%20sequence%2C%20which%20seems%20simpler%2C%20and%20easier%20to%20comprehend.%3C%2FP%3E%3CP%3EIs%20there%20an%20advantage%20of%20using%20the%20SCT%20%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1120982%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20DMA%20Ping-Pong%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1120982%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ECan%20the%20descriptors%20be%20defined%20as%20constants%20and%20setup%20at%20compile%20time%2C%20i.e.%20they'd%20be%20in%20FLASH%20not%20RAM%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1120981%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20DMA%20Ping-Pong%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1120981%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CSPAN%20class%3D%22%22%3E%3CA%20_jive_internal%3D%22true%22%20data-containerid%3D%22-1%22%20data-containertype%3D%22-1%22%20data-content-finding%3D%22Community%22%20data-objectid%3D%22339798%22%20data-objecttype%3D%223%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fdingelen%22%20target%3D%22_blank%22%3Edingelen%3C%2FA%3E%3C%2FSPAN%3E%2C%3C%2FP%3E%3CP%3EThanks%20for%20your%20reply.%3CBR%20%2F%3EAccording%20to%20the%20above%20description%2C%20I%20still%20have%20no%20idea%20with%20the%20'struck'%20issue%20actually%2C%20so%20I'd%20like%20to%20suggest%20that%20you'd%20better%20do%20more%20testing%20and%20provide%20more%20detailed%20information%20about%20the%20issue.%3C%2FP%3E%3CP%3EHave%20a%20great%20day.%3C%2FP%3E%3CP%3EBR%2C%3C%2FP%3E%3CP%3EJeremy%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1120980%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20DMA%20Ping-Pong%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1120980%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Jeremy%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ethanks%20for%20the%20fast%20reply.%20I%20figured%20the%20same%20was%20possible%20with%20the%26nbsp%3BLPC55%20but%20I'm%20somewhat%20stuck%20with%20this%20part%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CPRE%20class%3D%22%22%20style%3D%22color%3A%20%23000000%3B%20background%3A%20%23f5f2f0%3B%20border%3A%200px%3B%20margin%3A%200.5em%200px%3B%20padding%3A%201em%201em%201em%203.8em%3B%22%3E%3CCODE%20style%3D%22border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F*%20DMA%20initialization%20-%20enable%20DMA%20clocking%20and%20reset%20DMA%20if%20needed%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_Init%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F*%20Enable%20DMA%20controller%20and%20use%20driver%20provided%20DMA%20table%20for%20current%20descriptors%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_Enable%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_SetSRAMBase%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EDMA_ADDR%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3EChip_DMA_Table%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F*%20Setup%20channel%200%20for%20the%20following%20configuration%3A%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20-%20High%20channel%20priority%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20-%20Interrupt%20A%20fires%20on%20descriptor%20completion%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_EnableChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_EnableIntChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_SetupChannelConfig%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F%2F(DMA_CFG_PERIPHREQEN%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7C%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3EDMA_CFG_HWTRIGEN%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23a67f59%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.5)%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%7C%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CFG_TRIGBURST_BURST%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23a67f59%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.5)%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%7C%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CFG_TRIGTYPE_EDGE%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23a67f59%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.5)%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%7C%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CFG_TRIGPOL_LOW%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23a67f59%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.5)%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%7C%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F%2FDMA_CFG_TRIGPOL_HIGH%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20DMA_CFG_BURSTPOWER_1%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23a67f59%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.5)%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%7C%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EDMA_CFG_CHPRIORITY%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23990000%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F%2Fmake%20sure%20ADC%20Sequence%20A%20interrupts%20is%20selected%20for%20for%20a%20DMA%20trigger%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20LPC_INMUX%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23a67f59%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.5)%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E-%26gt%3B%3C%2FSPAN%3EDMA_ITRIG_INMUX%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23990000%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%5D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23a67f59%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.5)%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23990000%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F*%20Enable%20DMA%20interrupt%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3ENVIC_EnableIRQ%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3EDMA_IRQn%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F%2F%20The%201st%20descriptor%20is%20set%20up%20through%20the%20registers.%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F*%20Setup%20transfer%20descriptor%20and%20validate%20it%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_SetupTranChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23a67f59%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.5)%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%26amp%3B%3C%2FSPAN%3EInitial_DMA_Descriptor%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20slategray%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2F%2FUse%20the%20transfer%20configuration%20for%20our%204%20main%20descriptors%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_SetupChannelTransfer%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ADC_TransferDescriptors%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%5B%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23990000%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E0%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%5D%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E.%3C%2FSPAN%3Exfercfg%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23d74444%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3EChip_DMA_SetValidChannel%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E(%3C%2FSPAN%3ELPC_DMA%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E%2C%3C%2FSPAN%3E%20DMA_CH0%3CSPAN%20class%3D%22%22%20style%3D%22color%3A%20%23999999%3B%20border%3A%200px%3B%20font-weight%3A%20inherit%3B%22%3E)%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%3C%2FP%3E%3CP%3EAll%20these%20functions%20don't%20seem%20to%20be%20available%20in%20the%20LPC55%20SDK.%20The%20examples%20in%20the%20SDK%20also%20only%20use%20some%20kind%20of%20polled%20start-stop%2C%20not%20an%20automaticly%20running%20setup.%20(See%26nbsp%3Blpcxpresso55s69_lpadc_dma%20example)%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EIt%20would%20be%20great%20if%20this%20last%20part%20could%20get%20ported.%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EThanks!%3C%2FP%3E%3CP%3ETom%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1120979%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20DMA%20Ping-Pong%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1120979%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CSPAN%20class%3D%22%22%3E%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fpeople%2Fdingelen%22%20target%3D%22_blank%22%3Edingelen%3C%2FA%3E%3C%2FSPAN%3E%2C%3C%2FP%3E%3CP%3EThanks%20for%20your%20interest%20in%20the%20demo.%3CBR%20%2F%3E1)%20Is%20there%20a%20same%20example%20available%20for%20the%20LPC55-series%3F%3CBR%20%2F%3E--%20After%20reviewing%20the%20RM%2C%20I%20find%20that%20the%20LPC55xx%20series%20also%20support%20the%20Ping-Pong%20feature%2C%20so%20this%20sample%20is%20able%20to%20be%20ported%20to%20the%20series.%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_1.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_1.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F94993i71A139AFD0B1E135%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_1.png%22%20alt%3D%22pastedImage_1.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EHave%20a%20great%20day.%3C%2FP%3E%3CP%3EBR%2C%3C%2FP%3E%3CP%3EJeremy%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1120978%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20DMA%20Ping-Pong%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1120978%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ESuper%20example.%20Much%20better%20than%20the%20ones%20in%20the%20SDK...%20Thanks!%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EIs%20there%20a%20same%20example%20available%20for%20the%20LPC55-series%3F%20There%20seem%20to%20be%20some%20differences%20in%20how%20to%20set-up%20the%20DMA%20compared%20to%20the%20LPC54%20series.%3C%2FP%3E%3C%2FLINGO-BODY%3E
No ratings
Version history
Last update:
‎09-10-2020 02:49 AM
Updated by: