VOID main ( VOID ) { uint16_t offset, gain; analogin_init(&adc0, MBED_ADC_EXAMPLE_PIN_1); // no pinout on HDK board analogin_init(&adc1, MBED_ADC_EXAMPLE_PIN_2); analogin_init(&adc2, MBED_ADC_EXAMPLE_PIN_3); #if ADC_CALIBRATION sys_adc_calibration(0, &offset, &gain); printf("ADC:offset = 0x%x, gain = 0x%x\n", offset, gain); if((offset==0xFFFF) || (gain==0xFFFF)) #endif { offset = OFFSET; gain = GAIN_DIV; printf("ADC:offset = 0x%x, gain = 0x%x\n", offset, gain); } for (;;){ adcdat0 = analogin_read_u16(&adc0); adcdat1 = analogin_read_u16(&adc1); adcdat2 = analogin_read_u16(&adc2); v_mv0 = AD2MV(adcdat0, offset, gain); v_mv1 = AD2MV(adcdat1, offset, gain); v_mv2 = AD2MV(adcdat2, offset, gain); printf("AD0:%x = %d mv, AD1:%x = %d mv, AD2:%x = %d mv\n", adcdat0, v_mv0, adcdat1, v_mv1, adcdat2, v_mv2); adc_delay(); } analogin_deinit(&adc0); analogin_deinit(&adc1); analogin_deinit(&adc2); }
void trng_free(trng_t *obj) { if (!obj->inited) { return; } obj->inited = 0; analogin_deinit(&obj->tradcng); }