查看: 6054|回复: 10

[求助] 【YL-KL26Z】+ADC 偏移和校准

[复制链接]

该用户从未签到

9

主题

287

帖子

0

高级会员

Rank: 4

积分
905
最后登录
2025-7-17
发表于 2015-7-20 21:32:29 | 显示全部楼层 |阅读模式
本帖最后由 momososo 于 2015-7-21 20:50 编辑

修改红字部分
修改ADC与GPIO demo学习偏移与校准的部分


    while (1) {         vuint16 cal_var;
        Vout = adcGetUint();                                            /* 获取adc值                    */
        printf("Vout=%d\n",Vout);
        myDelay(100);
        if(!GPIO_GET_VALUE(MKL_PORTE,20))
        {
        GPIO_TOGGLE(MKL_PORTB,19);
         myDelay(500);                //去抖
         }
        if(!GPIO_GET_VALUE(MKL_PORTA,4))  //按K4偏移
         {
        ADC0_OFS += 100;
每按一次K4偏移值加100
但是输出的值是少200
写得不好,按着比较明显
        myDelay(500);                //去抖
        }
         if(!GPIO_GET_VALUE(MKL_PORTD,6))  //按K6校准
         {
            myDelay(500);                //去抖
                                
            ADC0_SC3 |= ADC_SC3_AVGE_MASK; //依手册启用32点平均
             ADC0_SC3 |= ADC_SC3_AVGS(3);
             ADC0_CFG1 |= ADC_CFG1_ADIV(3); //减低ADC时钟
                                 
             ADC0_SC2 &= ~ADC_SC2_ADTRG_MASK; //改为软体触发
             ADC0_SC3 |= ADC_SC3_CAL_MASK; //启用校准
             while((ADC0_SC1(0) & ADC_SC1_COCO_MASK) != ADC_SC1_COCO_MASK); /* 等待转换完成 */
             if(ADC0_SC3 & ADC_SC3_CALF_MASK)
             {
               ADC0_SC3 &= ~ADC_SC3_CALF_MASK; //清除校准失败旗帜
             }
                                
             /*校准正侧增益*/
             cal_var = 0x00;
             cal_var = ADC0_CLP0;
             cal_var += ADC0_CLP1;
             cal_var += ADC0_CLP2;
             cal_var += ADC0_CLP3;
             cal_var += ADC0_CLP4;
             cal_var += ADC0_CLPS;
             cal_var = cal_var/2;
             cal_var += 0x8000;
                                
            ADC0_PG = cal_var;
                                
            /*校准负侧增益*/
           cal_var = 0x00;
           cal_var = ADC0_CLM0;
           cal_var += ADC0_CLM1;
           cal_var += ADC0_CLM2;
           cal_var += ADC0_CLM3;
           cal_var += ADC0_CLM4;
           cal_var += ADC0_CLMS;
           cal_var = cal_var/2;
           cal_var += 0x8000;
                                
           ADC0_MG = cal_var;
                                
           ADC0_SC3 &= ~ADC_SC3_CAL_MASK;
                                
            /*回复平均与时钟*/
           ADC0_SC3 &= ~ADC_SC3_AVGE_MASK;
           ADC0_SC3 &= ~ADC_SC3_AVGS_MASK;
           ADC0_CFG1 &= ~ADC_CFG1_ADIV_MASK;
         }  
    }
}
还是有点不懂
侦错时

ADC0_SC3 |= ADC_SC3_CAL_MASK; //启用校准
命令下完
OFS值会变动
但CAL旗帜马上又变回0
不是应该等命令下完才变回0吗




我知道答案 目前已有10人回答

评分

参与人数 1NXP金币 +15 收起 理由
小七 + 15 打赏!

查看全部评分

回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16701
    最后登录
    1970-1-1
    发表于 2015-7-20 21:48:53 | 显示全部楼层
    多谢分享
    回复

    使用道具 举报

    该用户从未签到

    42

    主题

    340

    帖子

    0

    高级会员

    Rank: 4

    积分
    722
    最后登录
    2016-1-9
    发表于 2015-7-20 23:29:06 | 显示全部楼层
    也正在学习这里,同求助
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9

    主题

    287

    帖子

    0

    高级会员

    Rank: 4

    积分
    905
    最后登录
    2025-7-17
     楼主| 发表于 2015-7-21 21:19:08 | 显示全部楼层
    修改红字部分
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-5 18:45
  • 签到天数: 158 天

    连续签到: 1 天

    [LV.7]常住居民III

    26

    主题

    669

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1724
    最后登录
    2020-11-5
    发表于 2015-10-8 23:56:50 | 显示全部楼层
    谢谢分享!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-10-12 12:42:12 | 显示全部楼层
    谢谢分享   
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    59
    最后登录
    1970-1-1
    发表于 2015-10-22 11:34:53 | 显示全部楼层
    感谢分享,学习中,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    189

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    244
    最后登录
    2020-10-19
    发表于 2015-10-22 13:46:24 | 显示全部楼层
    准备学习中,感谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    189

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    244
    最后登录
    2020-10-19
    发表于 2015-10-26 08:49:21 | 显示全部楼层
    感谢楼主分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-7-13 13:55
  • 签到天数: 193 天

    连续签到: 1 天

    [LV.7]常住居民III

    2

    主题

    1276

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3232
    最后登录
    1970-1-1
    发表于 2015-10-26 10:32:49 | 显示全部楼层
    多谢分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 00:33 , Processed in 0.114699 second(s), 32 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表