S3C6410 AD驱动(一) --- 基本原理

1.激活ADC的时钟

   static struct clk *adc_clock;

   adc_clock = clk_get(NULL,"adc");

    clk_enable(adc_clock);

 

2.首先设置ADC 控制寄存器ADCCON

    设置ENABLE_START为启动;STDBM为正常模式,SEL_MUX 通道为AIN0,PRSCVL 分频值为255,PRSCEN分频功能使能。

3.其他寄存器可以保持默认状态。

4.读取AD数据,采用轮询的方式

设置ENABLE_START为启动;等待ENABLE_START变为0,当变为0时,AD就启动了。然后判断ADCCON的ECFLG位是否为1,为1表示转换结束,然后从ADCDAT0当中取数据。

 

5.关闭AD

    设置ENABLE_START为无动作。

   关闭ADC的时钟。

  clk_disable(adc_clock);

  clk_put(adc_clock):

  adc_clock = NULL;

你可能感兴趣的:(c,struct,null)