RA MCU中一般都会包括12位逐次逼近型A/D转换器(ADC12)单元,最多可选择13路模拟量输入通道、温度传感器输出、内部参考电压进行转换。


(相关资料图)

同时,ADC12还提供比较功能(窗口A和窗口B)。比较功能分别指定窗口A和窗口B的参考值上限和的参考值下限,当所选通道的A/D转换值满足比较条件时输出中断。窗口A和窗口B的主要区别在于它们的中断输出信号不同以及对窗口B只能选择一个通道的限制。

窗口A比较功能相关的寄存器有ADCMPCR、ADCMPLR0/1和ADCMPDR0/1寄存器,详情请参考RA硬件手册。

ADC数据与可设置的高低阈值进行比较,并可为AD数据在设定的门限值内、外、高或低自动生成比较中断。需要设置三个选项位置,接下来我们将逐个介绍各种情况下属性设置和用户代码。

Window Mode:选择Disabled

当AD转换结果 > ADCMPDR0(Lower Reference 设定值时)时,产生Compare中断。

若想实现上图的比较功能,请按照下图中所示,在FSP中设置ADC属性。

R_ADC0->ADCMPLR_b->CMPLCHA0 = 0;

当AD转换结果 < ADCMPDR0(Lower Reference 设定值时),产生Compare中断。

Window Mode:选择Enabled

当ADCMPDR0(Lower Reference设定值时)< AD转换结果< ADCMPDR1(Upper Reference设定值时)时,产生Compare中断。

R_ADC0->ADCMPLR_b->CMPLCHA0 = 0;

当AD转换结果<ADCMPDR0(Lower Reference 设定值时)或者>ADCMPDR1(Upper Reference设定值时)时,产生Compare中断。

推荐内容