ads8320.c

来自「The firmware driver in External ADC IC C」· C语言 代码 · 共 55 行

C
55
字号
//////////////// Driver for ADS8320 A/D Converter ///////////////////////
////                                                                 ////
////  init_ext_adc()                      Call after power up        ////
////                                                                 ////
////  value = read_ext_adc()              Converts to digital number ////
////                                      and sends to MCU           ////
////                                                                 ////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////


#ifndef ADS8320_CS

#define ADS8320_CLK  PIN_B0
#define ADS8320_DOUT PIN_B1
#define ADS8320_CS   PIN_B2

#endif


void init_ext_adc() {
   output_high(ADS8320_CS);
   output_high(ADS8320_CLK);
}


long read_ext_adc() {
   int i;
   long data;

   data=0;
   output_low(ADS8320_CS);
   for(i=0;i<=5;i++)             // take sample and send start bit
   {
      output_low(ADS8320_CLK);
      delay_us(1);
      output_high(ADS8320_CLK);
      delay_us(1);
   }
   for(i=0;i<16;++i) {           // send sample over spi
      output_low(ADS8320_CLK);
      delay_us(1);
      shift_left(&data,2,input(ADS8320_DOUT));
      output_high(ADS8320_CLK);
      delay_us(1);
   }

   output_high(ADS8320_CS);
   return(data);
}

float convert_to_volts(long data) {
   return ((float)data*5.0/0xffff);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?