请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:ADS1148 您好!
我使用 ADS1148从连接到此 ADC 两个不同通道的两个传感器读取温度和 mV 值。
AIN0和 AIN1 (mV)以及 AIN2和 AIN3 (用于读取温度输入)。
我正在执行单次转换、然后切换通道以再次执行单次转换。 但是、我的 mV 输入端会出现间歇性满量程读数(2.048V)。
我不确定导致这种情况的原因是什么? 请告诉我为什么会发生这种情况? 我是否不允许内部基准在转换前完全稳定?
我已经附加了针对 ADC 的通道开关和单次转换的代码。 请提供任何帮助。
//单次转换 ADC
void adc_measure_single_shot () { nrf_gpio_pin_set (power_pin);//为 LDO nrf_delay_ms (5)供电; nrf_drv_timer_disable (&power_timer); DRDY_INTR_EN ();// DRDY INT enable nrf_deliv_t_pin_start (nrf_pin_start) ;/rf_gpin_start gpin_rf_rf_rf_start);/rf_rf_rf_rf_gpin_start (2)/rf_rf_rf_rf_
/通道切换
void change_mux_channel () { NRF_GPIO_PIN_SET (EXT_ADC_START); NRF_DELAY_ms (2); if (gRunTimeDB.muxChange=0) { gRunTimeDB.muxChange++; gRunTimeDB.muxChangeCount++; 温度通道的//mux 设置 APP_ERROR_CHECK (SPI_SCHEDULE_TRANSACTION (&TEMP_CHANNEL 配置)); } 其他 { gRunTimeDB.muxChange-; gRunTimeDB.muxChangeCount--; pH 通道的//mux 设置 APP_ERROR_CHECK (SPI_SCHEDULE_TRANSACTION (&PH_CHANGE_CONFIG)); } NRF_GPIO_PIN_CLEAR (EXT_ADC_START); }
谢谢!