本帖最后由 FSL_TICS_Robin 于 2014-11-27 10:26 编辑
使用KL05单片机的ADC功能,采到的值波动很大,不知道怎么回事
我使用的是外部参考电压,采集的是电阻分压值(万用表测的很稳,但是采集到的不稳),时钟是总线时钟8分频
初始化函数
PORTB_PCR5 = PORT_PCR_MUX(0); //ADC_TEMPER/* ¿ªÆôPB5¹Ü½ÅÄ£Ä⹦ÄÜ */
PORTA_PCR9 = PORT_PCR_MUX(0); //ADC_BLOOD/* ¿ªÆôPA9¹Ü½ÅÄ£Ä⹦ÄÜ
PORTA_PCR12 = PORT_PCR_MUX(0); //ADC_VCC/* ¿ªÆôPA12¹Ü½ÅÄ£Ä⹦ÄÜ
SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK; /* ¿ªÆôADCʱÖÓ */
/*
* ÅäÖÃADCÏà¹Ø¹¦ÄÜ
*/
ADC0_CFG1 = ADC_CFG1_ADLSMP_MASK | ADC_CFG1_MODE(1) | ADC_CFG1_ADICLK(1);
ADC0_CFG1 |= ADC_CFG1_ADIV(3);
ADC0_SC2 |= ADC_SC2_REFSEL(0);/* Ñ¡ÔñµçÔ´²Î¿¼Ô´ */
ADC0_SC1(0) = ADC_SC1_ADCH(1); /*¿ªÆôÖÐ¶Ï Ñ¡ÔñÐŵÀ1 */
//#define ADC0_SC1(index) ADC_SC1_REG(ADC0_BASE_PTR,index)
//#define ADC_SC1_REG(base,index) ((base)->SC1[index])
ADC0_SC1(0) |= ADC_SC1_AIEN_MASK;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12位的,我是从KILL复制过来的,我连续采3次,490,220,120;
有时候中间的采集还会是0,我用的是查询,没开中断
一周热门 更多>