CN / EN
CN / EN

提问

设计支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

ADC测量电压偏低问题求解 GR551x

158***144

2025-05-07 13:08

参考v1.7.0版本例程,利用CR5513BEND,借用了ADC单端采样的实例,通过MSIO1管脚来检测电压,以下是测试代码,实际测量值应为1.8V左右,现测的电压在0.87V左右,请问是什么原因

#define TEST_CONV_LENGTH (16UL)

adc_handle_t g_adc_handle;

uint16_t conversion[TEST_CONV_LENGTH];

double voltage[TEST_CONV_LENGTH];


void adc_single(void)

{

g_adc_handle.init.channel_p = ADC_INPUT_SRC_IO1;

g_adc_handle.init.channel_n = ADC_INPUT_SRC_IO1;

g_adc_handle.init.input_mode = ADC_INPUT_SINGLE;

g_adc_handle.init.ref_source = ADC_REF_SRC_BUF_INT;

g_adc_handle.init.ref_value = ADC_REF_VALUE_1P6;

g_adc_handle.init.clock = ADC_CLK_1P6M;

hal_adc_deinit(&g_adc_handle);

hal_adc_init(&g_adc_handle);

memset(conversion, 0, sizeof(conversion));


printf("Start single sampling.\r\n");

hal_adc_poll_for_conversion(&g_adc_handle, conversion, TEST_CONV_LENGTH);

while (g_adc_handle.state == HAL_ADC_STATE_BUSY);

hal_gr551x_adc_voltage_intern(&g_adc_handle, conversion, voltage, TEST_CONV_LENGTH);

printf("Conversion value:\r\n");

}

0收藏

0赞成

zhongchengzhi

汇顶员工
2025-05-08 09:54

您好,换个MSIO试试呢,确保MSIO外部没有连接其他外设。

0条评论

0赞成

0收藏

您的评论

158***144

2025-05-12 11:41

您好,用示波器量了波形是很平稳的电压,但读到的数据其实是一直在变,不稳定,不确定是什么原因,现在把其他功能都关了,只调试AD,情况还是一样。

0条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注