找回密码
 立即注册
×

00:00:00

您有一张0.1元限时体验卡,马上领取获得VIP尊享特权。

STC8G2K64S4,总计使用10路AD,问题如下

2023-7-24 19:10 来自 Inver1688 发布 @ 综合讨论

1.下面两种代码,每种代码都有一路的AD值为零,实际上AD通道的模拟值不为零  

代码一 的ADC_N_L1值每次都是零但如果单独只有这一路采样得到AD值512换算后与外部模拟值相吻合

void ADC_ISR() interrupt 5
{       
        ADC_CONTR &=~ADC_FLAG;        //清除中断         

    if(AD_conver_ii == 0)
    {
                    ADC_ref_avg= (ADC_RES<<8)|ADC_RESL; //内部1.91的AD值
                        Ref_flg =1;  
                         ADC_CONTR = 0xc0;
        }
    else        if(AD_conver_ii == 1)
    {
                    ADC_TEST= (ADC_RES<<8)|ADC_RESL;   
                        DC5v_flg =1;
                         ADC_CONTR = 0xc1;
        }
    else        if(AD_conver_ii == 2)
    {
                    ADC_N_L1= (ADC_RES<<8)|ADC_RESL;   
                        L1N_flg =1;
                         ADC_CONTR = 0xc2;
        }
    else        if(AD_conver_ii == 3)
    {
                    ADC_L1_L2 = (ADC_RES<<8)|ADC_RESL;  
                        L1L2_flg =1;
                         ADC_CONTR = 0xc3;
        }
    else        if(AD_conver_ii == 4)
    {
                    ADC_L1_L3= (ADC_RES<<8)|ADC_RESL;  
                        L1L3_flg =1;
                         ADC_CONTR = 0xc4;
        }
    else        if(AD_conver_ii == 5)
    {
                    ADC_BAT_V = (ADC_RES<<8)|ADC_RESL;  
       

免责声明:

本平台旨在开源共享精神,请勿发布敏感信息,任何违法信息我们将移交公安机关;

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-7 18:31 , Processed in 0.070569 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部