tag 标签: arm源代码

相关博文
  • 热度 24
    2010-6-13 21:02
    2878 次阅读|
    2 个评论
    /* 说明:近期有人问我为什么S3C2410 ADC不好用,于是就随便调试了一下,说明开发板提供的Sample 没有问题。 这主要是对哪些初学者或者将要用用作电压检测的网友,不妨可以借鉴一下。 调试工具是ADS环境 Wince/Linux开发板都是自带好了,打开调作即可。 */ volatile U32 preScaler; #define LOOP 10000 #define PCLK     (266000000/4)//PCLK=FCLK/4=266Mhz #define ADC_FREQ  2500000//ADC采样频率 void main(void) {     int voltage;  //读电压值   voltage=Test_Adc();    } /* * function: *    int ReadAdc(int ch) * description: *    Read 0-7 channel ADC value. * parameter: *    0-7 channel * return: *      0-7 channel voltage value */ int ReadAdc(int ch) {     int i;     static int prevCh=-1;     rADCCON = (114)|(preScaler6)|(ch3); //ADC control     if(prevCh!=ch)     {    rADCCON = (114)|(preScaler6)|(ch3);      for(i=0;i    prevCh=ch;     }     rADCCON|=0x1;       while(rADCCON 0x1);      while(!(rADCCON 0x8000));      return ( (int)rADCDAT0 0x3ff ); } /* * function: *    int Test_Adc(void) * description: *    Read 0-7 channel ADC value. * parameter: *    void * return: *      voltage value */ int Test_Adc(void) {     int i,key,ch_num;       preScaler = ADC_FREQ;        preScaler = PCLK/ADC_FREQ -1;        ch_num=3;//0-7 adc 端口号               return ReadAdc(3);   }