novoton-ADC使用

ADC模块

加强型12位模拟数字转换器(EADC)

M451系列包含一个12位,带16个外部输入通道和3个内部通道的逐次逼近法模拟数字转换器(SAR A/D 转换器)。 A/D转换器可以通过软件触发、PWM0/1 触发、timer0~3溢出脉冲触发、ADINT0, ADINT1中断EOC(转换结束)脉冲触发和外部管脚(STADC)输入信号 来启动转换。

ADC有3种工作模式:单次、单次循环和连续循环模式。
 单次:就是在某个使能的通道上完成一次转换就停止
 单次循环:就是在所有使能的通道上完成一次转换就停止
 连续循环:就是在所有使能的通道完成一次转换,再完成一次转换,连续不断的转换,直到软件将其停止
ADC的信号有2种输入模式:单端,差分
 单端:就是采样单个通道
 差分:就是两个通道的信号相减再采样

使能时钟:

/* Enable EADC module clock */
CLK_EnableModuleClock(EADC_MODULE);

选择时钟源:

/* EADC clock source is HCLK(72MHz), set divider to 8, ADC clock is 72/8 MHz */
CLK_SetModuleClock(EADC_MODULE, 0, CLK_CLKDIV0_EADC(8));

配置引脚:

/* Configure the GPB14 for ADC analog input pins */
SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB14MFP_Msk);
SYS->GPB_MFPH |= SYS_GPB_MFPH_PB14MFP_EADC_CH11;

/* Disable the GPB14 digital input path to avoid the leakage current */
GPIO_DISABLE_DIGITAL_PATH(PB, BIT14);

猜你喜欢

转载自www.cnblogs.com/llw2017/p/9071787.html
ADC