static void init_adc() { LCDclr(); LCDGotoXY(3,0); LCDstring((uint8_t *)"Initing...",10); AD7793_Reset(); if(!AD7793_Init()) { LCDclr(); LCDGotoXY(2,0); LCDstring((uint8_t *)"ADC Error!",10); return; } LCDGotoXY(0,1); LCDstring((uint8_t *)"S1...",5); adc_init_channel(AD7793_CH_AIN1P_AIN1M); LCDstring((uint8_t *)"OK S2...",9); adc_init_channel(AD7793_CH_AIN2P_AIN2M); LCDstring((uint8_t *)"OK",2); adc_current_channel = AD7793_CH_AIN1P_AIN1M; adc_change_channel_and_trigger_delay(adc_current_channel); LCDclr(); }
/** @brief Initialization @return none **/ void AD7793_Init(void) { uint32_t ui32reg_value; SPI_Init(); /* SPI initialization */ AD7793_Reset(); /* Reset ADC converter */ ui32reg_value = (uint32_t) (AD7793_GAIN << 8); /* Set ADC gain */ ui32reg_value |= (uint32_t) AD7793_REFSEL; /* Select internal reference source */ ui32reg_value |= (uint32_t)AD7793_BUF; /* Configure buffered mode of operation */ AD7793_WriteRegister(AD7793_REG_CONF, ui32reg_value); /* Set configuration options */ AD7793_WriteRegister(AD7793_REG_IO, 0x02); /* Set IOUT2 to 210 uA */ }