在线时间20 小时
UID3108148
注册时间2015-9-9
NXP金币0
该用户从未签到
注册会员

- 积分
- 142
- 最后登录
- 2017-7-28
|
本帖最后由 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位单端是以补码形式存放的,是什么意思?
|
-
|