查看: 2531|回复: 3

[求助] KL25差分AD通道配置问题

[复制链接]
  • TA的每日心情
    开心
    2016-11-30 08:51
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    4

    主题

    138

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    202
    最后登录
    2022-7-7
    发表于 2014-4-27 23:53:38 | 显示全部楼层 |阅读模式
     先上代码
    void ADC_Init(void)
    {
            SIM_SCGC6 |= (SIM_SCGC6_ADC0_MASK );//打开ADC0时钟
            ADC0_SC1A&=~ADC_SC1_AIEN_MASK;//不使用中断
            ADC0_SC1A&=~ADC_SC1_DIFF_MASK;//不使用差分输入,使用单端输入模式
            ADC0_CFG1&=~ADC_CFG1_ADLPC_MASK;//正常功耗模式
            ADC0_CFG1|= ADC_CFG1_ADIV(0);//时钟分频2^0
            ADC0_CFG1&=~ADC_CFG1_ADLSMP_MASK;//短采样时间
            ADC0_CFG1|=ADC_CFG1_MODE(0);//DIFF=0时,单端8位精度
            ADC0_CFG1|=ADC_CFG1_ADICLK(0x01);//时钟源选择,总线时钟Bus Clock/2
            ADC0_CFG2&=~ADC_CFG2_ADHSC_MASK;//不使用高速模式,减少两个AD时钟
            //ADC0_CFG2|=ADC_CFG2_MUXSEL_MASK;//选择b相输出
           
            ADC0_SC2&=~ADC_SC2_ADTRG_MASK;//软件触发
            ADC0_SC2&=~ADC_SC2_ACFE_MASK;//不使用比较功能
            ADC0_SC2&=~ADC_SC2_DMAEN_MASK;//不使用DMA传输
            ADC0_SC2|=ADC_SC2_REFSEL(0);//使用默认参考电压
            ADC0_SC3&=~ADC_SC3_ADCO_MASK;//单次转换,非连续转换
            ADC0_SC3&=~ADC_SC3_AVGE_MASK;//不使用硬件均值功能       
            
    }
     
    int read_AD0(int ch)
    {
            ADC0_SC1A&=~ ADC_SC1_ADCH_MASK;
            ADC0_SC1A|=ADC_SC1_ADCH(ch);//选择ADC0通道ch,
            while((ADC0_SC1A&ADC_SC1_COCO_MASK)==0);
            return ADC0_RA;
    }
     
    这样配置完KL25的ADC寄存器之后,目的是想将PTE23的ADC0_SE7a作为单端输入通道使用,但是实际效果出现的是随机值,这段初始化其他AD口都能正常使用,只有E20-E23这四个通道无法使用,求解答
     
    我知道答案 目前已有2人回答
    回复

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-4-28 09:20:45 | 显示全部楼层

    RE:KL25差分AD通道配置问题

    你好,楼主!
    我检查了你的代码后,没发现配置代码有错误啊,而对你你遇到的错误,我觉得你可以试试FRDM_KL25开发的例程。
    还有一点,我需要你重新解释一下,请问E20-E23具体是那几个引脚呢?是AD20-AD23的意思吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-4-28 09:21:41 | 显示全部楼层

    RE:KL25差分AD通道配置问题

    楼主,以后关于飞思卡尔产品的问题,请在【飞思卡尔FAE线上技术支持】板块中提出!
    谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    459

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    303
    最后登录
    2024-10-24
    发表于 2014-4-28 09:49:09 | 显示全部楼层

    回复:KL25差分AD通道配置问题

    有可能是代码中漏掉了ADC MUX的选择,在E21-E23的ADC通道默认是ADC0_SExa,所以需要在代码中选择ADC MUX 为a通道
    Capture.PNG
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-19 15:03 , Processed in 0.098440 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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