查看: 2703|回复: 1

[求助] FRDM-K22F评估板,ADC寄存器转换结果读取问题

[复制链接]

该用户从未签到

10

主题

32

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2017-7-28
发表于 2015-10-15 13:51:23 | 显示全部楼层 |阅读模式
本帖最后由 nolanpeers 于 2015-10-15 13:53 编辑

各位大神好!
我用的是FRDM-K22F评估板。做了一个试验,用ADC0_SE12通道,16位单端。芯片管脚没有接任何模拟量输入,请问为何读出的寄存器值是图中所示,为什么不稳定?程序如下:

    adc16_chn_config_t chnConfig;    //

    // Configure the conversion channel
    // differential and interrupt mode disable.
    chnConfig.chnIdx     = (adc16_chn_t)ADC16_CHN;//    ADC16_TEMPERATURE_CHN=kAdc16Chn26 = 26U
#if FSL_FEATURE_ADC16_HAS_DIFF_MODE
    chnConfig.diffConvEnable = false;
#endif
    chnConfig.convCompletedIntEnable  = false;

    // Software trigger the conversion.
    ADC16_DRV_ConfigConvChn(ADC16_INSTANCE, ADC16_CHN_GROUP, &chnConfig);//ADC16_INSTANCE=0,ADC16_CHN_GROUP=0,

    // Wait for the conversion to be done.
    ADC16_DRV_WaitConvDone(ADC16_INSTANCE, ADC16_CHN_GROUP);

    // Fetch the conversion value.
    adcValue = ADC16_DRV_GetConvValueSigned(ADC16_INSTANCE, ADC16_CHN_GROUP);//寄存器ADC0_Rn中的值
        
        
                adc=(float)(adcValue*0.05)/1000;

    printf("%-17f", adc );
    ADC16_DRV_PauseConv(ADC16_INSTANCE, ADC16_CHN_GROUP);
}


打印出来后,显示如下:

为什么会出现这类数字?代表的什么意思?214747.015625    214746.781250    214747.000000。同时PDF上又说,该寄存器选择16位单端是以补码形式存放的,是什么意思?
我知道答案 目前已有1人回答
11.jpg
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2015-10-16 12:40:31 | 显示全部楼层
楼主你好,你测出来的不稳定信号的原因就是因为你的模拟引脚悬空,你需要给一个固定的模拟电压进去,比如0V。其实你可以接一个可调电位器进去测试。
悬空引脚,测出来的值是无效值。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-29 12:05 , Processed in 0.085018 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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