Exemple #1
0
void adc1_isr(void)
{
	int16 result;
	uint8 ab = LPLD_ADC_GetSC1nCOCO(ADC1);//判断转换完成的是A组还是B组
	result = LPLD_ADC_GetResult(ADC1, ab);//获取采样结果
	printf("ADC1_R[%d]=%d\r\n", ab, result);//打印输出结果
	LPLD_ADC_EnableConversion(ADC1, DAD1, 0, TRUE);
}
void init_ADC()
{
  adc0_init_struct.ADC_Adcx = ADC0;     //选择ADC0
  adc0_init_struct.ADC_BitMode = SE_12BIT;      //配置转换精度
  adc0_init_struct.ADC_CalEnable = TRUE;        //使能初始化自动校准
  adc0_init_struct.ADC_HwTrgCfg = HW_TRGA;      //配置为硬件触发转换
  adc0_init_struct.ADC_DmaEnable = TRUE;        //使能DMA
  adc0_init_struct.ADC_SampleTimeCfg = SAMTIME_LONG;
  //初始化ADC0
  LPLD_ADC_Init(adc0_init_struct);   
  //使能ADC0的AD8输入引脚复用功能
  LPLD_ADC_Chn_Enable(ADC0, AD8);
  //使能ADC0的AD8输入通道、禁用转换完成中断
  LPLD_ADC_EnableConversion(ADC0, AD8, 0, FALSE);               //使能PTB0通道
  
  adc0_init_struct.ADC_Adcx = ADC1;
  LPLD_ADC_Init(adc0_init_struct);   
  //使能ADC0的AD8输入引脚复用功能
  LPLD_ADC_Chn_Enable(ADC0, AD8);
  //使能ADC0的AD8输入通道、禁用转换完成中断
  LPLD_ADC_EnableConversion(ADC1, AD8, 0, FALSE);               //使能PTB0通道
  
}
Exemple #3
0
void adc_init(myadc *adc, uint32 PIT_PeriodUs)
{
	pdb_init(adc->PDB_TriggerInputSourceSel, adc->ADC_Adcx);
	
	adc_init_struct.ADC_Adcx = adc->ADC_Adcx;
	adc_init_struct.ADC_DiffMode = ADC_SE;        //单端采集
	adc_init_struct.ADC_BitMode = SE_12BIT;       //单端12位精度
	adc_init_struct.ADC_SampleTimeCfg = SAMTIME_SHORT;    //短采样时间
	adc_init_struct.ADC_HwAvgSel = HW_4AVG;       //4次硬件平均
	adc_init_struct.ADC_PgaGain = PGA_1GAIN;      //1倍增益
	adc_init_struct.ADC_MuxSel = MUX_ADXXA;		//A输入通道
	adc_init_struct.ADC_CalEnable = TRUE; //使能初始化校验
	adc_init_struct.ADC_HwTrgCfg = HW_TRGA;   //禁用硬件触发转换
	adc_init_struct.ADC_DmaEnable = FALSE;			//禁用DMA
	adc_init_struct.ADC_Isr = adc->isr;  //设置ADC中断函数

	LPLD_ADC_Init(adc_init_struct);   //初始化ADC0
	LPLD_ADC_Chn_Enable(adc->ADC_Adcx, adc->chn);	//使能ADC0的DAD1输入引脚复用功能
	LPLD_ADC_EnableConversion(adc->ADC_Adcx, adc->chn, 0, TRUE);	//使能ADC0的DAD1输入通道及其转换完成中断
	LPLD_ADC_EnableIrq(adc_init_struct);	//使能ADC0中断
	
	pit_init(adc->PIT_Pitx, PIT_PeriodUs);
}