ADC采样值不准【悬赏贴】
ADC_TDR=0XFF; //关闭
ADC_CR2=0B1000; //右对齐;
ADC_CSR=0X03;
ADC_CR1=0X01;//启动;
while((ADC_CSR & 0x80) == 0); // 等待ADC结束
ADC_CSR&=0X7F; //清零第7位;
c=ADC_DRH*256+ADC_DRL;
上面STM8S是建的一个ADC单次采样的部分,CR1在这之前已经激活过,
我用一个电位器调压给一个AD口,当电位器调整后,不动。第一次采样的值,都不准 ,然后采样第二次才准。
我是调完之后,运行单步测试的,调整完电位器后,再去采样,时间都超过1S以上,所以采到的值应该是稳定的。
各位帮忙看看,是写的不对,还是有其它什么要注意的。
RE:ADC采样值不准【悬赏贴】
每次只要采样电压调整后,有时第一次采样的结果总,是不对的,我开始怀疑AD是不是在调整电压的时候,自己启动了,或者程序的写法有题,导致第一次结果不对。RE:ADC采样值不准【悬赏贴】
你换一下使用ST提供的库函数试试。这样因该会好用了,使用寄存器的方式,需要你对寄存器非常了解,才能很好的控制。。。回复:ADC采样值不准【悬赏贴】
没用过STM8,你可以看看是不是ADC的采样保持时间,有没有关系,可能和你通道切换有关系RE:ADC采样值不准【悬赏贴】
第一次采样的值都不准 ,第二次采样才准奇怪的地方
使用ST提供的库函数试下吧
回复:ADC采样值不准【悬赏贴】
我以前也遇到过,解决办法是抛弃第一次的值
页:
[1]