ADC0CN0 &= ~ADC0CN0_ADCM__FMASK; ADC0CN0 |= ADC0CN0_ADEN__ENABLED | ADC0CN0_ADCM__TIMER2;
时间: 2024-09-25 20:00:39 浏览: 27
adc.zip_LPC1114_M0 ADC
这段代码是在操作ADC0(模拟数字转换器0)的控制寄存器`ADC0CN0`。这里有两个操作:
1. `ADC0CN0 &= ~ADC0CN0_ADCM__FMASK;`:这是一个按位与操作,"&"运算符表示与非(NOT),`~ADC0CN0_ADCM__FMASK`是对`ADC0CN0_ADCM__FMASK`字段取反。`ADCM__FMASK`可能是一个标志位,清除它意味着禁用了某个定时模式,可能是自由运行模式(Free Running Mode)。这一行的作用是关闭或改变与该位相关的功能。
2. `ADC0CN0 |= ADC0CN0_ADEN__ENABLED | ADC0CN0_ADCM__TIMER2;`:这是按位或操作,"|="运算符表示或(OR),`ADC0CN0_ADEN__ENABLED`设置ADC0为启用状态,而`ADC0CN0_ADCM__TIMER2`则选择使用Timer2作为触发ADC转换的定时源。这意味着ADC将以Timer2的周期为基准进行自动采样。
简单来说,这段代码首先关闭了一个定时模式,然后开启了ADC,并将其定时方式设置为由Timer2驱动。
阅读全文