打印

请教APM32F003差分ADC通道采集问题

[复制链接]
75|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Lucian0711|  楼主 | 2025-5-18 22:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个差分ADC通道采集是否存在问题?直接在ADC_SetDiffInputChannel(ADC_DIFF_CHANNEL_VAIN0);  选择通道0就可以了吗?已经在main中进行RCM_ConfigHIRCDiv(RCM_HIRC_DIV_8);分频
void ADC_ContinuousDiffInitVoltage(void)
{
    ADC_Config_T adcConfig;
    GPIO_Config_T gpioConfig;
    //配置   
    gpioConfig.mode = GPIO_MODE_IN_FLOATING;                // 模拟输入模式
                gpioConfig.speed = GPIO_SPEED_10MHz;
    gpioConfig.pin = GPIO_PIN_5 | GPIO_PIN_6;      // PC5: 正端, PC6: 负端
                gpioConfig.intEn = GPIO_EINT_DISABLE;
    GPIO_Config(GPIOC, &gpioConfig);
          //模式
                ADC_SetMode(ADC_MODE_DIFF_INPUT);
    ADC_SetDiffInputChannel(ADC_DIFF_CHANNEL_VAIN0);        // 选择通道 0(PC5-PC6)       
    // ADC 配置结构初始化
    ADC_ConfigStructInit(&adcConfig);
    adcConfig.convMode  = ADC_CONV_MODE_SINGLE ;     // 连续转换模式
    adcConfig.scanMode  = ADC_SCAN_MODE_DISABLE;        // 禁用扫描
    adcConfig.interrupt = ADC_INT_CC;                   // 转换完成中断标志
    adcConfig.channel   = ADC_CHANNEL_0;                // 必须配置,但差分模式实际由 CHSEL 控制
    ADC_Config(&adcConfig);
    ADC_Calibration();                                   // 执行校准,消除偏移误差
    ADC_Enable();                                       // 启用 ADC
    ADC_StartConversion();                              // 开始连续转换
}

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝