LPC43XX HSADC DMA how to

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

LPC43XX HSADC DMA how to

Jump to solution
1,833 Views
robberpen
Contributor III

Hi

After seup hsadc’s descriptor0, It can sampling data to FIFOOUTPUT register by software trigger.
And set FIFO_LEVEL register to 7. Then it successfully interrupts to ADCHS_IRQHandler().
Based on programming guide, it should also trigger DMA_HSADC_read signal to trigger DMA channel activation.

However, DMA channel 7 never work.(did not copy src:FIFOOUTPUT to dst:Memory)
Is something wrong for DMA setup here? Or how to check/debug this.

 

PS: DMAMUXER8 already set in this case.

LPC_CREG->DMAMUX = (LPC_CREG->DMAMUX | (0x3 << 16)); //16b(DMAMUXER8) = 0x3

 

 

Ref - https://community.nxp.com/t5/LPC-Microcontrollers/DMA-keep-getting-quot-Empty-FIFO-empty-quot-0x8000...
https://community.nxp.com/t5/LPC-Microcontrollers/LPC-Link2-High-Speed-ADC-and-DMA-Interrupt/td-p/15...

  • Setup HSADC is working.

 

	 Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 0, (HSADC_DESC_CH(1) |
	 HSADC_DESC_BRANCH_NEXT | HSADC_DESC_MATCH(1) |
	 HSADC_DESC_THRESH_NONE | HSADC_DESC_RESET_TIMER ));

	 Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 1, (HSADC_DESC_CH(1) |
	 HSADC_DESC_BRANCH_NEXT | HSADC_DESC_MATCH(1) |
	 HSADC_DESC_THRESH_NONE | HSADC_DESC_RESET_TIMER));

	 Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 2, (HSADC_DESC_CH(1) |
	 HSADC_DESC_BRANCH_NEXT | HSADC_DESC_MATCH(1) |
	 HSADC_DESC_THRESH_NONE | HSADC_DESC_RESET_TIMER ));

	 Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 3, (HSADC_DESC_CH(1) |
	 HSADC_DESC_BRANCH_NEXT | HSADC_DESC_MATCH(1) |
	 HSADC_DESC_THRESH_NONE | HSADC_DESC_RESET_TIMER ));

	 Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 4, (HSADC_DESC_CH(1) |
	 HSADC_DESC_BRANCH_NEXT | HSADC_DESC_MATCH(1) |
	 HSADC_DESC_THRESH_NONE | HSADC_DESC_RESET_TIMER ));

	 Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 5, (HSADC_DESC_CH(1) |
	 HSADC_DESC_BRANCH_NEXT | HSADC_DESC_MATCH(1) |
	 HSADC_DESC_THRESH_NONE | HSADC_DESC_RESET_TIMER ));

	 Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 6, (HSADC_DESC_CH(1) |
	 HSADC_DESC_BRANCH_NEXT | HSADC_DESC_MATCH(1) |
	 HSADC_DESC_THRESH_NONE | HSADC_DESC_RESET_TIMER ));

	 Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 7, (HSADC_DESC_CH(1) |
	 HSADC_DESC_MATCH(1) | HSADC_DESC_THRESH_NONE |HSADC_DESC_BRANCH_FIRST |
	 HSADC_DESC_RESET_TIMER | HSADC_DESC_HALT |HSADC_DESC_INT));

 

 

  • DMA not work

 

static void App_DMA_Init(void)
{
	/* Initialize GPDMA controller */
	Chip_GPDMA_Init(LPC_GPDMA);
	/* Setting GPDMA interrupt */
	NVIC_DisableIRQ(DMA_IRQn);
	NVIC_SetPriority(DMA_IRQn, ((0x01 << 3) | 0x01));
	NVIC_EnableIRQ(DMA_IRQn);
}

void Setup_DMA_J(void) //copy from https://community.nxp.com/t5/LPC-Microcontrollers/DMA-keep-getting-quot-Empty-FIFO-empty-quot-0x8000-from-HSADC/m-p/734753
{
uint8_t DMA_CH = 7
	App_DMA_Init();
	LPC_CREG->DMAMUX = (LPC_CREG->DMAMUX | (0x3 << 16)); //16b(DMAMUXER8) = 0x3
	/* Clear all DMA interrupt and error flag */
	LPC_GPDMA->CONFIG = 0x00;
#if 0 /* PTM duplicated */
	LPC_GPDMA->INTTCCLEAR = 0xFF; //clears channel terminal count interrupt
	LPC_GPDMA->INTERRCLR = 0xFF; //clears channel error interrupt.
#endif
	LPC_GPDMA->CONFIG = 0x01;
	while (!(LPC_GPDMA->CONFIG & 0x01))
		;
	LPC_GPDMA->CH[DMA_CH].SRCADDR = (uint32_t) &LPC_ADCHS->FIFO_OUTPUT[0];
	LPC_GPDMA->CH[DMA_CH].DESTADDR = ((uint32_t) gluData);
	//LPC_GPDMA->CH[DMA_CH].DESTADDR = ((uint32_t) &sample);
	//LPC_GPDMA->CH[DMA_CH].CONTROL = (DMA_TRANSFER_SIZE << 0) // transfer size
	LPC_GPDMA->CH[DMA_CH].CONTROL = (FIFO_OUTPUT_LEVEL << 0)
			| (0x0 << 12) // src burst size
			| (0x0 << 15) // dst burst size
			| (0x2 << 18) // src transfer width
			| (0x2 << 21) // dst transfer width
			| (0x1 << 24) // src AHB master select
			| (0x0 << 25) // dst AHB master select
			| (0x0 << 26) // src increment: 0, src address not increment after each trans
			| (0x1 << 27) // dst increment: 1, dst address increment after each trans
			| (0x1 << 31); // terminal count interrupt enable bit: 1, enabled, (0x0UL << 31); // Terminal count interrupt disabled
	LPC_GPDMA->CH[DMA_CH].CONFIG = (0x1 << 0) // enable bit: 1 enable, 0 disable
	| (HSADC_DMA_READ << 1) // src peripheral: set to 8 - HSADC
			| (0x0 << 6) // dst peripheral: no setting - memory
			| (0x0 << 11) // flow control: peripheral to memory - DMA control
			| (0x1 << 14) // IE - interrupt error mask
			| (0x1 << 15) // ITC - terminal count interrupt mask
			| (0x0 << 16) // lock: when set, this bit enables locked transfer
			| (0x1 << 18); // Halt: 1, enable DMA requests; 0, ignore further src DMA req
	LPC_GPDMA->CH[DMA_CH].LLI = 0;
	NVIC_SetPriority(DMA_IRQn,0x00);
	NVIC_ClearPendingIRQ(DMA_IRQn);
	LPC_GPDMA->CONFIG = 0x01;
	NVIC_EnableIRQ(DMA_IRQn);
}

 

 

 

Labels (2)
0 Kudos
Reply
1 Solution
1,681 Views
robberpen
Contributor III

Seems 0x06 << 11 is for burst DMA.

I am keep more testing. thanks

	LPC_GPDMA->CH[DMA_CH].CONFIG = (0x1 << 0) // enable bit: 1 enable, 0 ...
	| (0x6 << 11) // flow control: peripheral to memory - DMA control

 

View solution in original post

0 Kudos
Reply
3 Replies
1,804 Views
robberpen
Contributor III

I can work hsadc with DMA transfer, but I need more future feature by DMA_read REQ signal.

Here some keys need confirm

Based on  48.7.4.1 DMA read 

  • hsadc only support DMA channel 8 for read?
  • My workaround solution is set bit 1 on IRQ handler.

    >LPC_GPDMA->CH[DMA_CH].CONFIG = LPC_GPDMA->CH[DMA_CH].CONFIG |  0x1;

  • But I wand to active DMA by  DMA_read REQ siganl, so I also set DMAMUXER8, But it still not working as I expect that DMA_read signal should be trigger when FIFO_LEVEL or FIFO_FULL occur.
    >LPC_CREG->DMAMUX = (LPC_CREG->DMAMUX | (0x3 << 16));

 

 

void ADCHS_IRQHandler(void) {
	LPC_GPDMA->CH[DMA_CH].CONFIG = LPC_GPDMA->CH[DMA_CH].CONFIG |  0x1;
	Chip_HSADC_ClearIntStatus(LPC_ADCHS, 1, Chip_HSADC_GetIntStatus(LPC_ADCHS, 1) & Chip_HSADC_GetEnabledInts(LPC_ADCHS, 1));
	Chip_HSADC_ClearIntStatus(LPC_ADCHS, 0, Chip_HSADC_GetIntStatus(LPC_ADCHS, 0) & Chip_HSADC_GetEnabledInts(LPC_ADCHS, 0));
}

 

 

2024-08-24 02_02_06-UM10503.png

0 Kudos
Reply
1,787 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

I suppose that you can use the following code and have a try.

#define TICKRATE_HZ1 (1000) /* 10 ticks per second */

#define DGEC 0xE

#define HSADC_DMA_READ 8

#define DMA_CH 7

#define DMA_TRANSFER_SIZE 1024 // max. 4095

#define NUM_SAMPLE DMA_TRANSFER_SIZE

uint32_t descrip0,descrip1,config;

uint32_t freqHSADC;

 

uint32_t sample[NUM_SAMPLE];

void ADCHS_DMA_init(void)

{

//uint8_t DGEC = 0xE;

////////////////////////////////// ADCHS采样频率设置///// ///////////////////////////////////////////////////// ///////// /*80M*/

//CLK_M4_ADCHS uses BASE_M4_CLK

 

Chip_USB0_Init();/*将USB0 PLL初始化为480 MHz */

 

Chip_Clock_SetDivider(CLK_IDIV_A,CLKIN_USBPLL,2); /*来自USB0PLL的DIV_A源,并将分频器设置为2(支持的最大div值为4)[IN 480 MHz;输出240 MHz */

 

Chip_Clock_SetDivider(CLK_IDIV_B,CLKIN_IDIVA,3); /*来自DIV_A的源DIV_B,[IN 240 MHz;输出80 MHz */

 

Chip_Clock_SetBaseClock(CLK_BASE_ADCHS, CLKIN_IDIVB, true, false); /* Source ADHCS base clock from DIV_B */

 

freqHSADC = Chip_HSADC_GetBaseClockRate(LPC_ADCHS);

 

Chip_Clock_EnableOpts(CLK_MX_ADCHS, true, true, 1);/*启用寄存器时钟*/

 

Chip_Clock_Enable(CLK_ADCHS); /*启用时钟*/

 

 

 

////////////////////////////////// HSADC设置///// ///////////////////////////////////////////////////// /////////

 

/* 中断设置 */

// LPC_ADCHS-> INTS [0] .CLR_EN = 0x7F; //禁用中断0

// LPC_ADCHS-> INTS [0] .CLR_STAT = 0x7F; //清除中断状态

// while(LPC_ADCHS-> INTS [0] .STATUS&0x7D); //等待状态清除,必须排除FIFO_EMPTY

// LPC_ADCHS-> INTS [1] .CLR_EN = 0x7F;

// LPC_ADCHS-> INTS [1] .CLR_STAT = 0x7F;

// while(LPC_ADCHS-> INTS [1] .STATUS&0x1E);

 

/*初始化HSADC */

Chip_RGU_TriggerReset(RGU_ADCHS_RST);//复位HADC

while (Chip_RGU_InReset(RGU_ADCHS_RST)){}

 

LPC_ADCHS-> POWER_DOWN = 0; //禁用电源关闭模式

 

/* FIFO 中断 1, 无 打包模式 */

//Chip_HSADC_SetupFIFO(LPC_ADCHS, 1, false);

 

LPC_ADCHS-> FIFO_CFG =(8 << 1); /* FIFO_LEVEL大小PACKED_READ 数据保存在FIFO的方式,1表示两个采样数据打包存放 */

LPC_ADCHS-> DSCR_STS = (1 << 1)| 0; //设置活动的描述符表与描述符

 

/* 设置描述符表0中的描述符0*/

LPC_ADCHS->DESCRIPTOR[0][0] = (1 << 24) /* RESET_TIMER 复位定时器*/

| (0 << 22) /* THRESH 未添加比较器*/

| (0 << /* MATCH 描述符计时器值等于MATC时,转换描述符*/

| (1 << 6) /* BRANCH to First 转换完成后跳转到该表第一个描述符*/;

descrip0 =LPC_ADCHS->DESCRIPTOR[0][0] ;

/* Set descriptor 1 to take a measurement after 0x9A clocks and branch to first descriptor*/

LPC_ADCHS->DESCRIPTOR[0][1] =(1 << 31) /* UPDATE TABLE*/ //最高位配置不上

| (1 << 24) /* RESET_TIMER*/

| (0 << 22) /* THRESH*/

| (0 << /* MATCH*/

| (0x01 << 6) /* BRANCH to first*/;

descrip1 =LPC_ADCHS->DESCRIPTOR[0][1] ;

LPC_ADCHS-> CONFIG =(0x90 << 6)/*恢复时间,建议值*/

| (0 << 5)/* CHANNEL_ID_EN ,0表示不将通道ID输入到FIFO中*/

| (0x01)/* TRIGGER_MASK 01 表示仅使用软件触发*/;

 

/* CRS设置为0x4,所以SPEED所有DGEC应该被设置为0xE */

LPC_ADCHS-> ADC_SPEED =(DGEC << 20)

| (DGEC << 16)

| (DGEC << 12)

| (DGEC <<

| (DGEC << 4)

| (DGEC);

 

//未设置阈值寄存器,因为未使用它们

LPC_ADCHS->POWER_CONTROL =(1 << 18)/* BGAP */

|(1 << 17)/*电源 ADC保持供电*/

|(0 << 4) /* DCINNEG在ADC0 No dc bias 当 DCINNEG 设置为 0 时,提供 ADCHS_NEG 引脚上的电压(ADCHS 用于真差分模式):*/

|(0 << 10)/* DC在ADC0中 No dc bias*/

|(0 << 16)/* 1 =以TWOS输出-0 =以Offset Binary输出*/

|(0x4)/* CRS ,设置ADC速度*/;

 

 

LPC_ADCHS-> FLUSH = 1; //FIFO刷新

 

///////////////////////////////////////////////////// //// DMA设置///////////////////////////////////////////// ///////////////////////

 

 

NVIC_DisableIRQ(DMA_IRQn);

LPC_GPDMA-> CH [DMA_CH] .CONFIG |=0; //启用位,1启用,0禁用

 

LPC_GPDMA->INTTCCLEAR |= ((1UL <<DMA_CH ) & 0xFF);

LPC_GPDMA->INTERRCLR |= ((1UL <<DMA_CH ) & 0xFF);

 

LPC_GPDMA-> CONFIG = 0x01;

while(!(LPC_GPDMA-> CONFIG&0x01)); //使能

 

/* 描述符寄存器的值仅能通过DMA通道7传递 */

LPC_GPDMA-> CH[DMA_CH].SRCADDR =(uint32_t)&LPC_ADCHS-> FIFO_OUTPUT [0];//DMA源地址

LPC_GPDMA-> CH[DMA_CH].DESTADDR =((uint32_t)&sample);//DMA目标地址

LPC_GPDMA-> CH[DMA_CH].CONTROL =(DMA_TRANSFER_SIZE)//传输大小 最大4095

| (0x0 << 12)// src突发大小

| (0x0 << 15)// dst突发大小

| (0x2 << 18)// src传输宽度,0x2表示以字的形式传输

| (0x2 << 21)// dst传输宽度,0x2表示以字的形式传输

| (0x1 << 24)// src AHB主选择

| (0x0 << 25)// dst AHB主选择

| (0x0 << 26)// src增量:0,每次传输后src地址不递增

| (0x1 << 27)// dst增量:1,每次传输后的dst地址增量

| (0x1 << 31); //终端计数中断使能位:1,使能

 

LPC_GPDMA->CH[DMA_CH].CONFIG = (HSADC_DMA_READ << 1)// src外设:设置为8-HSADC

| (0x0 << 6)// dst外设:无设置-内存

| (0x6 << 11)//流控制:外设-存储器

| (0x1 << 14); // IE-中断错误掩码

//| (0x1 << 15);

 

 

// ITC-终端计数中断屏蔽

//| (0x1 << 0);// enable bit: 1 enable, 0 disable

//| (0x0 << 16)//锁定:置位时,此位启用锁定传输

//| (0x1 << 18); //进一步忽略src DMA req

LPC_CREG->DMAMUX=3<<16; //select HSADC read for DMAMUXPER8

LPC_GPDMA-> CH [DMA_CH] .LLI = 0;

// NVIC_EnableIRQ(DMA_IRQn);

config =LPC_GPDMA-> CH [DMA_CH] .CONFIG;

LPC_GPDMA-> CH [DMA_CH].CONFIG|=(0x1 << 0);

Chip_HSADC_SWTrigger(LPC_ADCHS);//启动ADCHS软件触发

 

//不配置就无法读取到数据,但会覆盖之前的配置

NVIC_SetPriority(DMA_IRQn,0x00);

NVIC_ClearPendingIRQ(DMA_IRQn);

NVIC_EnableIRQ(DMA_IRQn);

 

__asm("cpsie i");

}

 

void DMA_IRQHandler(void)

{

__asm("nop");

//stop hsadc

LPC_GPDMA-> CH [DMA_CH].CONFIG&=~(0x1 << 0);

 

}

Hope it can help you

BR

XiangJun Rong

0 Kudos
Reply
1,682 Views
robberpen
Contributor III

Seems 0x06 << 11 is for burst DMA.

I am keep more testing. thanks

	LPC_GPDMA->CH[DMA_CH].CONFIG = (0x1 << 0) // enable bit: 1 enable, 0 ...
	| (0x6 << 11) // flow control: peripheral to memory - DMA control

 

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-1938925%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC43XX%20HSADC%20DMA%20how%20to%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1938925%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EHi%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EAfter%20seup%20hsadc%E2%80%99s%20descriptor0%2C%20It%20can%20sampling%20data%20to%20FIFOOUTPUT%20register%20by%20software%20trigger.%3CBR%20%2F%3E%3C%2FSPAN%3EAnd%20set%20FIFO_LEVEL%20register%20to%207.%20Then%20it%20%3CSTRONG%3Esuccessfully%20interrupts%20to%20ADCHS_IRQHandler().%3C%2FSTRONG%3E%3CBR%20%2F%3EBased%20on%20programming%20guide%2C%20it%20should%20also%20trigger%20DMA_HSADC_read%20signal%20to%20trigger%20DMA%20channel%20activation.%3C%2FP%3E%3CP%3EHowever%2C%3CSTRONG%3E%20DMA%20channel%207%20never%20work%3C%2FSTRONG%3E.(did%20not%20copy%20src%3AFIFOOUTPUT%20to%20dst%3AMemory)%3CBR%20%2F%3EIs%20something%20wrong%20for%20DMA%20setup%20here%3F%20Or%20how%20to%20check%2Fdebug%20this.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EPS%3A%20DMAMUXER8%20already%20set%20in%20this%20case.%3C%2FP%3E%3CPRE%3ELPC_CREG-%26gt%3BDMAMUX%20%3D%20(LPC_CREG-%26gt%3BDMAMUX%20%7C%20(0x3%20%26lt%3B%26lt%3B%2016))%3B%20%2F%2F16b(DMAMUXER8)%20%3D%200x3%3C%2FPRE%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3ERef%20-%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FLPC-Microcontrollers%2FDMA-keep-getting-quot-Empty-FIFO-empty-quot-0x8000-from-HSADC%2Fm-p%2F734753%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2FLPC-Microcontrollers%2FDMA-keep-getting-quot-Empty-FIFO-empty-quot-0x8000-from-HSADC%2Fm-p%2F734753%3C%2FA%3E%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FLPC-Microcontrollers%2FLPC-Link2-High-Speed-ADC-and-DMA-Interrupt%2Ftd-p%2F1532249%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2FLPC-Microcontrollers%2FLPC-Link2-High-Speed-ADC-and-DMA-Interrupt%2Ftd-p%2F1532249%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CUL%3E%3CLI%3ESetup%20HSADC%20is%20working.%3C%2FLI%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%09%20Chip_HSADC_SetupDescEntry(LPC_ADCHS%2C%200%2C%200%2C%20(HSADC_DESC_CH(1)%20%7C%0A%09%20HSADC_DESC_BRANCH_NEXT%20%7C%20HSADC_DESC_MATCH(1)%20%7C%0A%09%20HSADC_DESC_THRESH_NONE%20%7C%20HSADC_DESC_RESET_TIMER%20))%3B%0A%0A%09%20Chip_HSADC_SetupDescEntry(LPC_ADCHS%2C%200%2C%201%2C%20(HSADC_DESC_CH(1)%20%7C%0A%09%20HSADC_DESC_BRANCH_NEXT%20%7C%20HSADC_DESC_MATCH(1)%20%7C%0A%09%20HSADC_DESC_THRESH_NONE%20%7C%20HSADC_DESC_RESET_TIMER))%3B%0A%0A%09%20Chip_HSADC_SetupDescEntry(LPC_ADCHS%2C%200%2C%202%2C%20(HSADC_DESC_CH(1)%20%7C%0A%09%20HSADC_DESC_BRANCH_NEXT%20%7C%20HSADC_DESC_MATCH(1)%20%7C%0A%09%20HSADC_DESC_THRESH_NONE%20%7C%20HSADC_DESC_RESET_TIMER%20))%3B%0A%0A%09%20Chip_HSADC_SetupDescEntry(LPC_ADCHS%2C%200%2C%203%2C%20(HSADC_DESC_CH(1)%20%7C%0A%09%20HSADC_DESC_BRANCH_NEXT%20%7C%20HSADC_DESC_MATCH(1)%20%7C%0A%09%20HSADC_DESC_THRESH_NONE%20%7C%20HSADC_DESC_RESET_TIMER%20))%3B%0A%0A%09%20Chip_HSADC_SetupDescEntry(LPC_ADCHS%2C%200%2C%204%2C%20(HSADC_DESC_CH(1)%20%7C%0A%09%20HSADC_DESC_BRANCH_NEXT%20%7C%20HSADC_DESC_MATCH(1)%20%7C%0A%09%20HSADC_DESC_THRESH_NONE%20%7C%20HSADC_DESC_RESET_TIMER%20))%3B%0A%0A%09%20Chip_HSADC_SetupDescEntry(LPC_ADCHS%2C%200%2C%205%2C%20(HSADC_DESC_CH(1)%20%7C%0A%09%20HSADC_DESC_BRANCH_NEXT%20%7C%20HSADC_DESC_MATCH(1)%20%7C%0A%09%20HSADC_DESC_THRESH_NONE%20%7C%20HSADC_DESC_RESET_TIMER%20))%3B%0A%0A%09%20Chip_HSADC_SetupDescEntry(LPC_ADCHS%2C%200%2C%206%2C%20(HSADC_DESC_CH(1)%20%7C%0A%09%20HSADC_DESC_BRANCH_NEXT%20%7C%20HSADC_DESC_MATCH(1)%20%7C%0A%09%20HSADC_DESC_THRESH_NONE%20%7C%20HSADC_DESC_RESET_TIMER%20))%3B%0A%0A%09%20Chip_HSADC_SetupDescEntry(LPC_ADCHS%2C%200%2C%207%2C%20(HSADC_DESC_CH(1)%20%7C%0A%09%20HSADC_DESC_MATCH(1)%20%7C%20HSADC_DESC_THRESH_NONE%20%7CHSADC_DESC_BRANCH_FIRST%20%7C%0A%09%20HSADC_DESC_RESET_TIMER%20%7C%20HSADC_DESC_HALT%20%7CHSADC_DESC_INT))%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CUL%3E%3CLI%3EDMA%20not%20work%3C%2FLI%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3Estatic%20void%20App_DMA_Init(void)%0A%7B%0A%09%2F*%20Initialize%20GPDMA%20controller%20*%2F%0A%09Chip_GPDMA_Init(LPC_GPDMA)%3B%0A%09%2F*%20Setting%20GPDMA%20interrupt%20*%2F%0A%09NVIC_DisableIRQ(DMA_IRQn)%3B%0A%09NVIC_SetPriority(DMA_IRQn%2C%20((0x01%20%26lt%3B%26lt%3B%203)%20%7C%200x01))%3B%0A%09NVIC_EnableIRQ(DMA_IRQn)%3B%0A%7D%0A%0Avoid%20Setup_DMA_J(void)%20%2F%2Fcopy%20from%20https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FLPC-Microcontrollers%2FDMA-keep-getting-quot-Empty-FIFO-empty-quot-0x8000-from-HSADC%2Fm-p%2F734753%0A%7B%0Auint8_t%20DMA_CH%20%3D%207%0A%09App_DMA_Init()%3B%0A%09LPC_CREG-%26gt%3BDMAMUX%20%3D%20(LPC_CREG-%26gt%3BDMAMUX%20%7C%20(0x3%20%26lt%3B%26lt%3B%2016))%3B%20%2F%2F16b(DMAMUXER8)%20%3D%200x3%0A%09%2F*%20Clear%20all%20DMA%20interrupt%20and%20error%20flag%20*%2F%0A%09LPC_GPDMA-%26gt%3BCONFIG%20%3D%200x00%3B%0A%23if%200%20%2F*%20PTM%20duplicated%20*%2F%0A%09LPC_GPDMA-%26gt%3BINTTCCLEAR%20%3D%200xFF%3B%20%2F%2Fclears%20channel%20terminal%20count%20interrupt%0A%09LPC_GPDMA-%26gt%3BINTERRCLR%20%3D%200xFF%3B%20%2F%2Fclears%20channel%20error%20interrupt.%0A%23endif%0A%09LPC_GPDMA-%26gt%3BCONFIG%20%3D%200x01%3B%0A%09while%20(!(LPC_GPDMA-%26gt%3BCONFIG%20%26amp%3B%200x01))%0A%09%09%3B%0A%09LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.SRCADDR%20%3D%20(uint32_t)%20%26amp%3BLPC_ADCHS-%26gt%3BFIFO_OUTPUT%5B0%5D%3B%0A%09LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.DESTADDR%20%3D%20((uint32_t)%20gluData)%3B%0A%09%2F%2FLPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.DESTADDR%20%3D%20((uint32_t)%20%26amp%3Bsample)%3B%0A%09%2F%2FLPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.CONTROL%20%3D%20(DMA_TRANSFER_SIZE%20%26lt%3B%26lt%3B%200)%20%2F%2F%20transfer%20size%0A%09LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.CONTROL%20%3D%20(FIFO_OUTPUT_LEVEL%20%26lt%3B%26lt%3B%200)%0A%09%09%09%7C%20(0x0%20%26lt%3B%26lt%3B%2012)%20%2F%2F%20src%20burst%20size%0A%09%09%09%7C%20(0x0%20%26lt%3B%26lt%3B%2015)%20%2F%2F%20dst%20burst%20size%0A%09%09%09%7C%20(0x2%20%26lt%3B%26lt%3B%2018)%20%2F%2F%20src%20transfer%20width%0A%09%09%09%7C%20(0x2%20%26lt%3B%26lt%3B%2021)%20%2F%2F%20dst%20transfer%20width%0A%09%09%09%7C%20(0x1%20%26lt%3B%26lt%3B%2024)%20%2F%2F%20src%20AHB%20master%20select%0A%09%09%09%7C%20(0x0%20%26lt%3B%26lt%3B%2025)%20%2F%2F%20dst%20AHB%20master%20select%0A%09%09%09%7C%20(0x0%20%26lt%3B%26lt%3B%2026)%20%2F%2F%20src%20increment%3A%200%2C%20src%20address%20not%20increment%20after%20each%20trans%0A%09%09%09%7C%20(0x1%20%26lt%3B%26lt%3B%2027)%20%2F%2F%20dst%20increment%3A%201%2C%20dst%20address%20increment%20after%20each%20trans%0A%09%09%09%7C%20(0x1%20%26lt%3B%26lt%3B%2031)%3B%20%2F%2F%20terminal%20count%20interrupt%20enable%20bit%3A%201%2C%20enabled%2C%20(0x0UL%20%26lt%3B%26lt%3B%2031)%3B%20%2F%2F%20Terminal%20count%20interrupt%20disabled%0A%09LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.CONFIG%20%3D%20(0x1%20%26lt%3B%26lt%3B%200)%20%2F%2F%20enable%20bit%3A%201%20enable%2C%200%20disable%0A%09%7C%20(HSADC_DMA_READ%20%26lt%3B%26lt%3B%201)%20%2F%2F%20src%20peripheral%3A%20set%20to%208%20-%20HSADC%0A%09%09%09%7C%20(0x0%20%26lt%3B%26lt%3B%206)%20%2F%2F%20dst%20peripheral%3A%20no%20setting%20-%20memory%0A%09%09%09%7C%20(0x0%20%26lt%3B%26lt%3B%2011)%20%2F%2F%20flow%20control%3A%20peripheral%20to%20memory%20-%20DMA%20control%0A%09%09%09%7C%20(0x1%20%26lt%3B%26lt%3B%2014)%20%2F%2F%20IE%20-%20interrupt%20error%20mask%0A%09%09%09%7C%20(0x1%20%26lt%3B%26lt%3B%2015)%20%2F%2F%20ITC%20-%20terminal%20count%20interrupt%20mask%0A%09%09%09%7C%20(0x0%20%26lt%3B%26lt%3B%2016)%20%2F%2F%20lock%3A%20when%20set%2C%20this%20bit%20enables%20locked%20transfer%0A%09%09%09%7C%20(0x1%20%26lt%3B%26lt%3B%2018)%3B%20%2F%2F%20Halt%3A%201%2C%20enable%20DMA%20requests%3B%200%2C%20ignore%20further%20src%20DMA%20req%0A%09LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.LLI%20%3D%200%3B%0A%09NVIC_SetPriority(DMA_IRQn%2C0x00)%3B%0A%09NVIC_ClearPendingIRQ(DMA_IRQn)%3B%0A%09LPC_GPDMA-%26gt%3BCONFIG%20%3D%200x01%3B%0A%09NVIC_EnableIRQ(DMA_IRQn)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1938925%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELPC43xx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E4%B8%AD%E5%9B%BD%E7%94%A8%E6%88%B7%E8%AE%BA%E5%9D%9B%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1952956%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20LPC43XX%20HSADC%20DMA%20how%20to%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1952956%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ESeems%3CEM%3E%3CSTRONG%3E%200x06%20%26lt%3B%26lt%3B%2011%3C%2FSTRONG%3E%3C%2FEM%3E%20is%20for%20burst%20DMA.%3C%2FP%3E%3CP%3EI%20am%20keep%20more%20testing.%20thanks%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%09LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.CONFIG%20%3D%20(0x1%20%26lt%3B%26lt%3B%200)%20%2F%2F%20enable%20bit%3A%201%20enable%2C%200%20...%0A%09%7C%20(0x6%20%26lt%3B%26lt%3B%2011)%20%2F%2F%20flow%20control%3A%20peripheral%20to%20memory%20-%20DMA%20control%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1939931%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20LPC43XX%20HSADC%20DMA%20how%20to%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1939931%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3EI%20suppose%20that%20you%20can%20use%20the%20following%20code%20and%20have%20a%20try.%3C%2FP%3E%0A%3CDIV%20style%3D%22background-color%3A%20%23ffffff%3B%20padding%3A%200px%200px%200px%202px%3B%22%3E%0A%3CDIV%20style%3D%22color%3A%20%23000000%3B%20background-color%3A%20%23ffffff%3B%20font-family%3A%20'Consolas'%3B%20font-size%3A%2010pt%3B%20white-space%3A%20pre%3B%22%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3E%20TICKRATE_HZ1%20(1000)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%2010%20ticks%20per%20second%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3E%20DGEC%200xE%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3EHSADC_DMA_READ%3C%2FSPAN%3E%3CSPAN%3E%208%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3E%20DMA_CH%207%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3E%20DMA_TRANSFER_SIZE%201024%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20max.%204095%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3E%20NUM_SAMPLE%20DMA_TRANSFER_SIZE%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%3CSPAN%3E%20descrip0%2Cdescrip1%2Cconfig%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%3CSPAN%3E%20freqHSADC%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%3CSPAN%3E%20sample%5BNUM_SAMPLE%5D%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3EADCHS_DMA_init%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2Fuint8_t%20DGEC%20%3D%200xE%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%20ADCHS%E9%87%87%E6%A0%B7%E9%A2%91%E7%8E%87%E8%AE%BE%E7%BD%AE%2F%2F%2F%2F%2F%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%20%2F*80M*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2FCLK_M4_ADCHS%20uses%20BASE_M4_CLK%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20Chip_USB0_Init()%3B%3C%2FSPAN%3E%3CSPAN%3E%2F*%E5%B0%86USB0%20PLL%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%BA480%20MHz%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20Chip_Clock_SetDivider(%3C%2FSPAN%3E%3CSPAN%3ECLK_IDIV_A%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3CSPAN%3ECLKIN_USBPLL%3C%2FSPAN%3E%3CSPAN%3E%2C2)%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%E6%9D%A5%E8%87%AAUSB0PLL%E7%9A%84DIV_A%E6%BA%90%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%88%86%E9%A2%91%E5%99%A8%E8%AE%BE%E7%BD%AE%E4%B8%BA2(%E6%94%AF%E6%8C%81%E7%9A%84%E6%9C%80%E5%A4%A7%3C%2FSPAN%3E%3CSPAN%3Ediv%3C%2FSPAN%3E%3CSPAN%3E%E5%80%BC%E4%B8%BA4)%5BIN%20480%20MHz%3B%E8%BE%93%E5%87%BA240%20MHz%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20Chip_Clock_SetDivider(%3C%2FSPAN%3E%3CSPAN%3ECLK_IDIV_B%3C%2FSPAN%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3CSPAN%3ECLKIN_IDIVA%3C%2FSPAN%3E%3CSPAN%3E%2C3)%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%E6%9D%A5%E8%87%AADIV_A%E7%9A%84%E6%BA%90DIV_B%EF%BC%8C%5BIN%20240%20MHz%3B%E8%BE%93%E5%87%BA80%20MHz%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20Chip_Clock_SetBaseClock(%3C%2FSPAN%3E%3CSPAN%3ECLK_BASE_ADCHS%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3ECLKIN_IDIVB%3C%2FSPAN%3E%3CSPAN%3E%2C%20true%2C%20false)%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20Source%20ADHCS%20base%20clock%20from%20DIV_B%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20freqHSADC%20%3D%20Chip_HSADC_GetBaseClockRate(LPC_ADCHS)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20Chip_Clock_EnableOpts(%3C%2FSPAN%3E%3CSPAN%3ECLK_MX_ADCHS%3C%2FSPAN%3E%3CSPAN%3E%2C%20true%2C%20true%2C%201)%3B%3C%2FSPAN%3E%3CSPAN%3E%2F*%E5%90%AF%E7%94%A8%E5%AF%84%E5%AD%98%E5%99%A8%E6%97%B6%E9%92%9F*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20Chip_Clock_Enable(%3C%2FSPAN%3E%3CSPAN%3ECLK_ADCHS%3C%2FSPAN%3E%3CSPAN%3E)%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%E5%90%AF%E7%94%A8%E6%97%B6%E9%92%9F*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%20HSADC%E8%AE%BE%E7%BD%AE%2F%2F%2F%2F%2F%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F*%20%E4%B8%AD%E6%96%AD%E8%AE%BE%E7%BD%AE%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%20LPC_ADCHS-%26gt%3B%20INTS%20%5B0%5D%20.CLR_EN%20%3D%200x7F%3B%20%2F%2F%E7%A6%81%E7%94%A8%E4%B8%AD%E6%96%AD0%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%20LPC_ADCHS-%26gt%3B%20INTS%20%5B0%5D%20.CLR_STAT%20%3D%200x7F%3B%20%2F%2F%E6%B8%85%E9%99%A4%E4%B8%AD%E6%96%AD%E7%8A%B6%E6%80%81%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%20while(LPC_ADCHS-%26gt%3B%20INTS%20%5B0%5D%20.STATUS%26amp%3B0x7D)%3B%20%2F%2F%E7%AD%89%E5%BE%85%E7%8A%B6%E6%80%81%E6%B8%85%E9%99%A4%EF%BC%8C%E5%BF%85%E9%A1%BB%E6%8E%92%E9%99%A4FIFO_EMPTY%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%20LPC_ADCHS-%26gt%3B%20INTS%20%5B1%5D%20.CLR_EN%20%3D%200x7F%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%20LPC_ADCHS-%26gt%3B%20INTS%20%5B1%5D%20.CLR_STAT%20%3D%200x7F%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%20while(LPC_ADCHS-%26gt%3B%20INTS%20%5B1%5D%20.STATUS%26amp%3B0x1E)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F*%E5%88%9D%E5%A7%8B%E5%8C%96HSADC%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20Chip_RGU_TriggerReset(%3C%2FSPAN%3E%3CSPAN%3ERGU_ADCHS_RST%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E5%A4%8D%E4%BD%8DHADC%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3Ewhile%3C%2FSPAN%3E%3CSPAN%3E%20(Chip_RGU_InReset(%3C%2FSPAN%3E%3CSPAN%3ERGU_ADCHS_RST%3C%2FSPAN%3E%3CSPAN%3E))%7B%7D%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3EPOWER_DOWN%3C%2FSPAN%3E%3CSPAN%3E%20%3D%200%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E7%A6%81%E7%94%A8%E7%94%B5%E6%BA%90%E5%85%B3%E9%97%AD%E6%A8%A1%E5%BC%8F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F*%20FIFO%20%E4%B8%AD%E6%96%AD%201%EF%BC%8C%20%E6%97%A0%20%E6%89%93%E5%8C%85%E6%A8%A1%E5%BC%8F%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2FChip_HSADC_SetupFIFO(LPC_ADCHS%2C%201%2C%20false)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3EFIFO_CFG%3C%2FSPAN%3E%3CSPAN%3E%20%3D(8%20%26lt%3B%26lt%3B%201)%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20FIFO_LEVEL%E5%A4%A7%E5%B0%8FPACKED_READ%20%E6%95%B0%E6%8D%AE%E4%BF%9D%E5%AD%98%E5%9C%A8FIFO%E7%9A%84%E6%96%B9%E5%BC%8F%EF%BC%8C1%E8%A1%A8%E7%A4%BA%E4%B8%A4%E4%B8%AA%E9%87%87%E6%A0%B7%E6%95%B0%E6%8D%AE%E6%89%93%E5%8C%85%E5%AD%98%E6%94%BE%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3EDSCR_STS%3C%2FSPAN%3E%3CSPAN%3E%20%3D%20(1%20%26lt%3B%26lt%3B%201)%7C%200%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E8%AE%BE%E7%BD%AE%E6%B4%BB%E5%8A%A8%E7%9A%84%E6%8F%8F%E8%BF%B0%E7%AC%A6%E8%A1%A8%E4%B8%8E%E6%8F%8F%E8%BF%B0%E7%AC%A6%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F*%20%E8%AE%BE%E7%BD%AE%E6%8F%8F%E8%BF%B0%E7%AC%A6%E8%A1%A80%E4%B8%AD%E7%9A%84%E6%8F%8F%E8%BF%B0%E7%AC%A60*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EDESCRIPTOR%3C%2FSPAN%3E%3CSPAN%3E%5B0%5D%5B0%5D%20%3D%20(1%20%26lt%3B%26lt%3B%2024)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20RESET_TIMER%20%E5%A4%8D%E4%BD%8D%E5%AE%9A%E6%97%B6%E5%99%A8*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0%20%26lt%3B%26lt%3B%2022)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20THRESH%20%E6%9C%AA%E6%B7%BB%E5%8A%A0%E6%AF%94%E8%BE%83%E5%99%A8*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0%20%26lt%3B%26lt%3B%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20MATCH%20%E6%8F%8F%E8%BF%B0%E7%AC%A6%E8%AE%A1%E6%97%B6%E5%99%A8%E5%80%BC%E7%AD%89%E4%BA%8EMATC%E6%97%B6%EF%BC%8C%E8%BD%AC%E6%8D%A2%E6%8F%8F%E8%BF%B0%E7%AC%A6*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(1%20%26lt%3B%26lt%3B%206)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20BRANCH%20to%20First%20%E8%BD%AC%E6%8D%A2%E5%AE%8C%E6%88%90%E5%90%8E%E8%B7%B3%E8%BD%AC%E5%88%B0%E8%AF%A5%E8%A1%A8%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%8F%8F%E8%BF%B0%E7%AC%A6*%2F%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20descrip0%20%3DLPC_ADCHS-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EDESCRIPTOR%3C%2FSPAN%3E%3CSPAN%3E%5B0%5D%5B0%5D%20%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F*%20Set%20descriptor%201%20to%20take%20a%20measurement%20after%200x9A%20clocks%20and%20branch%20to%20first%20descriptor*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EDESCRIPTOR%3C%2FSPAN%3E%3CSPAN%3E%5B0%5D%5B1%5D%20%3D(1%20%26lt%3B%26lt%3B%2031)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20UPDATE%20TABLE*%2F%3C%2FSPAN%3E%20%3CSPAN%3E%2F%2F%E6%9C%80%E9%AB%98%E4%BD%8D%E9%85%8D%E7%BD%AE%E4%B8%8D%E4%B8%8A%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(1%20%26lt%3B%26lt%3B%2024)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20RESET_TIMER*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0%20%26lt%3B%26lt%3B%2022)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20THRESH*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0%20%26lt%3B%26lt%3B%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20MATCH*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x01%20%26lt%3B%26lt%3B%206)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20BRANCH%20to%20first*%2F%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20descrip1%20%3DLPC_ADCHS-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EDESCRIPTOR%3C%2FSPAN%3E%3CSPAN%3E%5B0%5D%5B1%5D%20%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECONFIG%3C%2FSPAN%3E%3CSPAN%3E%20%3D(0x90%20%26lt%3B%26lt%3B%206)%3C%2FSPAN%3E%3CSPAN%3E%2F*%E6%81%A2%E5%A4%8D%E6%97%B6%E9%97%B4%2C%E5%BB%BA%E8%AE%AE%E5%80%BC*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0%20%26lt%3B%26lt%3B%205)%3C%2FSPAN%3E%3CSPAN%3E%2F*%20CHANNEL_ID_EN%20%EF%BC%8C0%E8%A1%A8%E7%A4%BA%E4%B8%8D%E5%B0%86%E9%80%9A%E9%81%93ID%E8%BE%93%E5%85%A5%E5%88%B0FIFO%E4%B8%AD*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x01)%3C%2FSPAN%3E%3CSPAN%3E%2F*%20TRIGGER_MASK%2001%20%E8%A1%A8%E7%A4%BA%E4%BB%85%E4%BD%BF%E7%94%A8%E8%BD%AF%E4%BB%B6%E8%A7%A6%E5%8F%91*%2F%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F*%20CRS%E8%AE%BE%E7%BD%AE%E4%B8%BA0x4%EF%BC%8C%E6%89%80%E4%BB%A5SPEED%E6%89%80%E6%9C%89DGEC%E5%BA%94%E8%AF%A5%E8%A2%AB%E8%AE%BE%E7%BD%AE%E4%B8%BA0xE%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3EADC_SPEED%3C%2FSPAN%3E%3CSPAN%3E%20%3D(DGEC%20%26lt%3B%26lt%3B%2020)%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(DGEC%20%26lt%3B%26lt%3B%2016)%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(DGEC%20%26lt%3B%26lt%3B%2012)%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(DGEC%20%26lt%3B%26lt%3B%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(DGEC%20%26lt%3B%26lt%3B%204)%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(DGEC)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%E6%9C%AA%E8%AE%BE%E7%BD%AE%E9%98%88%E5%80%BC%E5%AF%84%E5%AD%98%E5%99%A8%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%9C%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E4%BB%AC%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EPOWER_CONTROL%3C%2FSPAN%3E%3CSPAN%3E%20%3D(1%20%26lt%3B%26lt%3B%2018)%3C%2FSPAN%3E%3CSPAN%3E%2F*%20BGAP%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C(1%20%26lt%3B%26lt%3B%2017)%3C%2FSPAN%3E%3CSPAN%3E%2F*%E7%94%B5%E6%BA%90%20ADC%E4%BF%9D%E6%8C%81%E4%BE%9B%E7%94%B5*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C(0%20%26lt%3B%26lt%3B%204)%20%3C%2FSPAN%3E%3CSPAN%3E%2F*%20DCINNEG%E5%9C%A8ADC0%20No%20%3C%2FSPAN%3E%3CSPAN%3Edc%3C%2FSPAN%3E%3CSPAN%3E%20bias%20%E5%BD%93%20DCINNEG%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%200%20%E6%97%B6%EF%BC%8C%E6%8F%90%E4%BE%9B%20ADCHS_NEG%20%E5%BC%95%E8%84%9A%E4%B8%8A%E7%9A%84%E7%94%B5%E5%8E%8B%EF%BC%88ADCHS%20%E7%94%A8%E4%BA%8E%E7%9C%9F%E5%B7%AE%E5%88%86%E6%A8%A1%E5%BC%8F%EF%BC%89%EF%BC%9A*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C(0%20%26lt%3B%26lt%3B%2010)%3C%2FSPAN%3E%3CSPAN%3E%2F*%20DC%E5%9C%A8ADC0%E4%B8%AD%20No%20%3C%2FSPAN%3E%3CSPAN%3Edc%3C%2FSPAN%3E%3CSPAN%3E%20bias*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C(0%20%26lt%3B%26lt%3B%2016)%3C%2FSPAN%3E%3CSPAN%3E%2F*%201%20%3D%E4%BB%A5TWOS%E8%BE%93%E5%87%BA-0%20%3D%E4%BB%A5Offset%20Binary%E8%BE%93%E5%87%BA*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C(0x4)%3C%2FSPAN%3E%3CSPAN%3E%2F*%20CRS%20%EF%BC%8C%E8%AE%BE%E7%BD%AEADC%E9%80%9F%E5%BA%A6*%2F%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_ADCHS-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3EFLUSH%3C%2FSPAN%3E%3CSPAN%3E%20%3D%201%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2FFIFO%E5%88%B7%E6%96%B0%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%20%2F%2F%2F%2F%20DMA%E8%AE%BE%E7%BD%AE%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%20%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20NVIC_DisableIRQ(%3C%2FSPAN%3E%3CSPAN%3EDMA_IRQn%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%20%5BDMA_CH%5D%20.%3C%2FSPAN%3E%3CSPAN%3ECONFIG%3C%2FSPAN%3E%3CSPAN%3E%20%7C%3D0%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E5%90%AF%E7%94%A8%E4%BD%8D%EF%BC%8C1%E5%90%AF%E7%94%A8%EF%BC%8C0%E7%A6%81%E7%94%A8%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EINTTCCLEAR%3C%2FSPAN%3E%3CSPAN%3E%20%7C%3D%20((1UL%20%26lt%3B%3CDMA_CH%3E%3C%2FDMA_CH%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EINTERRCLR%3C%2FSPAN%3E%3CSPAN%3E%20%7C%3D%20((1UL%20%26lt%3B%3CDMA_CH%3E%3C%2FDMA_CH%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECONFIG%3C%2FSPAN%3E%3CSPAN%3E%20%3D%200x01%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3Ewhile%3C%2FSPAN%3E%3CSPAN%3E(!(LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECONFIG%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B0x01))%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E4%BD%BF%E8%83%BD%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F*%20%E6%8F%8F%E8%BF%B0%E7%AC%A6%E5%AF%84%E5%AD%98%E5%99%A8%E7%9A%84%E5%80%BC%E4%BB%85%E8%83%BD%E9%80%9A%E8%BF%87DMA%E9%80%9A%E9%81%937%E4%BC%A0%E9%80%92%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%5BDMA_CH%5D.%3C%2FSPAN%3E%3CSPAN%3ESRCADDR%3C%2FSPAN%3E%3CSPAN%3E%20%3D(%3C%2FSPAN%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%3CSPAN%3E)%26amp%3BLPC_ADCHS-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3EFIFO_OUTPUT%3C%2FSPAN%3E%3CSPAN%3E%20%5B0%5D%3B%3C%2FSPAN%3E%3CSPAN%3E%2F%2FDMA%E6%BA%90%E5%9C%B0%E5%9D%80%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%5BDMA_CH%5D.%3C%2FSPAN%3E%3CSPAN%3EDESTADDR%3C%2FSPAN%3E%3CSPAN%3E%20%3D((%3C%2FSPAN%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%3CSPAN%3E)%26amp%3Bsample)%3B%3C%2FSPAN%3E%3CSPAN%3E%2F%2FDMA%E7%9B%AE%E6%A0%87%E5%9C%B0%E5%9D%80%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%5BDMA_CH%5D.%3C%2FSPAN%3E%3CSPAN%3ECONTROL%3C%2FSPAN%3E%3CSPAN%3E%20%3D(DMA_TRANSFER_SIZE)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E4%BC%A0%E8%BE%93%E5%A4%A7%E5%B0%8F%20%E6%9C%80%E5%A4%A74095%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x0%20%26lt%3B%26lt%3B%2012)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Esrc%3C%2FSPAN%3E%3CSPAN%3E%E7%AA%81%E5%8F%91%E5%A4%A7%E5%B0%8F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x0%20%26lt%3B%26lt%3B%2015)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Edst%3C%2FSPAN%3E%3CSPAN%3E%E7%AA%81%E5%8F%91%E5%A4%A7%E5%B0%8F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x2%20%26lt%3B%26lt%3B%2018)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Esrc%3C%2FSPAN%3E%3CSPAN%3E%E4%BC%A0%E8%BE%93%E5%AE%BD%E5%BA%A6%EF%BC%8C0x2%E8%A1%A8%E7%A4%BA%E4%BB%A5%E5%AD%97%E7%9A%84%E5%BD%A2%E5%BC%8F%E4%BC%A0%E8%BE%93%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x2%20%26lt%3B%26lt%3B%2021)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Edst%3C%2FSPAN%3E%3CSPAN%3E%E4%BC%A0%E8%BE%93%E5%AE%BD%E5%BA%A6%EF%BC%8C0x2%E8%A1%A8%E7%A4%BA%E4%BB%A5%E5%AD%97%E7%9A%84%E5%BD%A2%E5%BC%8F%E4%BC%A0%E8%BE%93%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x1%20%26lt%3B%26lt%3B%2024)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Esrc%3C%2FSPAN%3E%3CSPAN%3E%20AHB%E4%B8%BB%E9%80%89%E6%8B%A9%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x0%20%26lt%3B%26lt%3B%2025)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Edst%3C%2FSPAN%3E%3CSPAN%3E%20AHB%E4%B8%BB%E9%80%89%E6%8B%A9%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x0%20%26lt%3B%26lt%3B%2026)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Esrc%3C%2FSPAN%3E%3CSPAN%3E%E5%A2%9E%E9%87%8F%EF%BC%9A0%EF%BC%8C%E6%AF%8F%E6%AC%A1%E4%BC%A0%E8%BE%93%E5%90%8E%3C%2FSPAN%3E%3CSPAN%3Esrc%3C%2FSPAN%3E%3CSPAN%3E%E5%9C%B0%E5%9D%80%E4%B8%8D%E9%80%92%E5%A2%9E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x1%20%26lt%3B%26lt%3B%2027)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Edst%3C%2FSPAN%3E%3CSPAN%3E%E5%A2%9E%E9%87%8F%EF%BC%9A1%EF%BC%8C%E6%AF%8F%E6%AC%A1%E4%BC%A0%E8%BE%93%E5%90%8E%E7%9A%84%3C%2FSPAN%3E%3CSPAN%3Edst%3C%2FSPAN%3E%3CSPAN%3E%E5%9C%B0%E5%9D%80%E5%A2%9E%E9%87%8F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x1%20%26lt%3B%26lt%3B%2031)%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E7%BB%88%E7%AB%AF%E8%AE%A1%E6%95%B0%E4%B8%AD%E6%96%AD%E4%BD%BF%E8%83%BD%E4%BD%8D%EF%BC%9A1%EF%BC%8C%E4%BD%BF%E8%83%BD%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%5BDMA_CH%5D.%3C%2FSPAN%3E%3CSPAN%3ECONFIG%3C%2FSPAN%3E%3CSPAN%3E%20%3D%20(%3C%2FSPAN%3E%3CSPAN%3EHSADC_DMA_READ%3C%2FSPAN%3E%3CSPAN%3E%20%26lt%3B%26lt%3B%201)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Esrc%3C%2FSPAN%3E%3CSPAN%3E%E5%A4%96%E8%AE%BE%EF%BC%9A%E8%AE%BE%E7%BD%AE%E4%B8%BA8-HSADC%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x0%20%26lt%3B%26lt%3B%206)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20%3C%2FSPAN%3E%3CSPAN%3Edst%3C%2FSPAN%3E%3CSPAN%3E%E5%A4%96%E8%AE%BE%EF%BC%9A%E6%97%A0%E8%AE%BE%E7%BD%AE-%E5%86%85%E5%AD%98%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x6%20%26lt%3B%26lt%3B%2011)%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E6%B5%81%E6%8E%A7%E5%88%B6%EF%BC%9A%E5%A4%96%E8%AE%BE-%E5%AD%98%E5%82%A8%E5%99%A8%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20%7C%20(0x1%20%26lt%3B%26lt%3B%2014)%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20IE-%E4%B8%AD%E6%96%AD%E9%94%99%E8%AF%AF%E6%8E%A9%E7%A0%81%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%7C%20(0x1%20%26lt%3B%26lt%3B%2015)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%20ITC-%E7%BB%88%E7%AB%AF%E8%AE%A1%E6%95%B0%E4%B8%AD%E6%96%AD%E5%B1%8F%E8%94%BD%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%7C%20(0x1%20%26lt%3B%26lt%3B%200)%3B%2F%2F%20enable%20bit%3A%201%20enable%2C%200%20disable%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%7C%20(0x0%20%26lt%3B%26lt%3B%2016)%2F%2F%E9%94%81%E5%AE%9A%EF%BC%9A%E7%BD%AE%E4%BD%8D%E6%97%B6%EF%BC%8C%E6%AD%A4%E4%BD%8D%E5%90%AF%E7%94%A8%E9%94%81%E5%AE%9A%E4%BC%A0%E8%BE%93%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%7C%20(0x1%20%26lt%3B%26lt%3B%2018)%3B%20%2F%2F%E8%BF%9B%E4%B8%80%E6%AD%A5%E5%BF%BD%E7%95%A5%3C%2FSPAN%3E%3CSPAN%3Esrc%3C%2FSPAN%3E%3CSPAN%3E%20DMA%20%3C%2FSPAN%3E%3CSPAN%3Ereq%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_CREG-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EDMAMUX%3C%2FSPAN%3E%3CSPAN%3E%3D3%26lt%3B%26lt%3B16%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2Fselect%20HSADC%20read%20for%20DMAMUXPER8%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%20%5BDMA_CH%5D%20.%3C%2FSPAN%3E%3CSPAN%3ELLI%3C%2FSPAN%3E%3CSPAN%3E%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%20NVIC_EnableIRQ(DMA_IRQn)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20config%20%3DLPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%20%5BDMA_CH%5D%20.%3C%2FSPAN%3E%3CSPAN%3ECONFIG%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%20%5BDMA_CH%5D.%3C%2FSPAN%3E%3CSPAN%3ECONFIG%3C%2FSPAN%3E%3CSPAN%3E%7C%3D(0x1%20%26lt%3B%26lt%3B%200)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20Chip_HSADC_SWTrigger(LPC_ADCHS)%3B%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%E5%90%AF%E5%8A%A8ADCHS%E8%BD%AF%E4%BB%B6%E8%A7%A6%E5%8F%91%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2F%E4%B8%8D%E9%85%8D%E7%BD%AE%E5%B0%B1%E6%97%A0%E6%B3%95%E8%AF%BB%E5%8F%96%E5%88%B0%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%BD%86%E4%BC%9A%E8%A6%86%E7%9B%96%E4%B9%8B%E5%89%8D%E7%9A%84%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20NVIC_SetPriority(%3C%2FSPAN%3E%3CSPAN%3EDMA_IRQn%3C%2FSPAN%3E%3CSPAN%3E%2C0x00)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20NVIC_ClearPendingIRQ(%3C%2FSPAN%3E%3CSPAN%3EDMA_IRQn%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20NVIC_EnableIRQ(%3C%2FSPAN%3E%3CSPAN%3EDMA_IRQn%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E__asm%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%3Ecpsie%3C%2FSPAN%3E%3CSPAN%3E%20i%22%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3EDMA_IRQHandler%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E__asm%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%3Enop%3C%2FSPAN%3E%3CSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%2F%2Fstop%20%3C%2FSPAN%3E%3CSPAN%3Ehsadc%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%20LPC_GPDMA-%26gt%3B%20%3C%2FSPAN%3E%3CSPAN%3ECH%3C%2FSPAN%3E%3CSPAN%3E%20%5BDMA_CH%5D.%3C%2FSPAN%3E%3CSPAN%3ECONFIG%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3D~(0x1%20%26lt%3B%26lt%3B%200)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3EHope%20it%20can%20help%20you%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3EBR%3C%2FP%3E%0A%3CP%20style%3D%22margin%3A%200%3B%22%3EXiangJun%20Rong%3C%2FP%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1939412%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20LPC43XX%20HSADC%20DMA%20how%20to%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1939412%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EI%20can%20work%20hsadc%20with%20DMA%20transfer%2C%20but%20I%20need%20more%20future%20feature%20by%20DMA_read%20REQ%20signal.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EHere%20some%20keys%20need%20confirm%3C%2FP%3E%3CP%3EBased%20on%26nbsp%3B%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3E48.7.4.1%20DMA%20read%3C%2FSPAN%3E%3C%2FSTRONG%3E%26nbsp%3B%3C%2FP%3E%3CUL%3E%3CLI%3Ehsadc%20only%20support%20DMA%20channel%208%20for%20read%3F%3C%2FLI%3E%3CLI%3EMy%20workaround%20solution%20is%20set%20bit%201%20on%20IRQ%20handler.%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%26gt%3BLPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.CONFIG%20%3D%20LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.CONFIG%20%7C%26nbsp%3B%200x1%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLI%3E%3CLI%3EBut%20I%20wand%20to%20active%20DMA%20by%26nbsp%3B%26nbsp%3B%3CSTRONG%3EDMA_read%20REQ%20siganl%3C%2FSTRONG%3E%2C%20so%20I%20also%20set%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EDMAMUXER8%3C%2FSTRONG%3E%2C%20But%20it%20still%20not%20working%20as%20I%20expect%20that%20DMA_read%20signal%20should%20be%20trigger%20when%3CSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3EFIFO_LEVEL%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eor%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EFIFO_FULL%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eoccur.%3CBR%20%2F%3E%26gt%3BLPC_CREG-%26gt%3B%3CSPAN%3EDMAMUX%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%3D%20(LPC_CREG-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3EDMAMUX%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%7C%20(0x3%20%26lt%3B%26lt%3B%2016))%3B%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FUL%3E%3CDIV%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3Evoid%20ADCHS_IRQHandler(void)%20%7B%0A%09LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.CONFIG%20%3D%20LPC_GPDMA-%26gt%3BCH%5BDMA_CH%5D.CONFIG%20%7C%20%200x1%3B%0A%09Chip_HSADC_ClearIntStatus(LPC_ADCHS%2C%201%2C%20Chip_HSADC_GetIntStatus(LPC_ADCHS%2C%201)%20%26amp%3B%20Chip_HSADC_GetEnabledInts(LPC_ADCHS%2C%201))%3B%0A%09Chip_HSADC_ClearIntStatus(LPC_ADCHS%2C%200%2C%20Chip_HSADC_GetIntStatus(LPC_ADCHS%2C%200)%20%26amp%3B%20Chip_HSADC_GetEnabledInts(LPC_ADCHS%2C%200))%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%E2%80%83%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%222024-08-24%2002_02_06-UM10503.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%222024-08-24%2002_02_06-UM10503.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F295035i5E46C079FEB3C4DC%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%222024-08-24%2002_02_06-UM10503.png%22%20alt%3D%222024-08-24%2002_02_06-UM10503.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E