2019-08-14 14:45发布
SNEZSTM32 发表于 2017-8-27 14:39 [mw_shl_code=c,true] ADC1->CR2|=1
操作系统 发表于 2017-8-27 13:21 这个好理解.为了得到更加精确的ADC值.要求程序用代码校正一次.校正前不要 开启ADC功能.完毕.
wxjhby 发表于 2017-8-27 18:31 手册写的这么清楚 0:关闭ADC转换/校准,并进入断电模式 不开怎么校准
最多设置5个标签!
校正,与不校正的区别应该不会很大.一般人应该可以容忍.你可以尝试修复这个初始化.看看区别有多大.当然,原子哥的代码,并且没有达到无可挑剔的境界.
[mw_shl_code=c,true] ADC1->CR2|=1<<0; //开启AD转换器
ADC1->CR2|=1<<3; //使能复位校准
while(ADC1->CR2&1<<3); //等待校准结束
//该位由软件设置并由硬件清除。在校准寄存器被初始化后该位将被清除。
ADC1->CR2|=1<<2; //开启AD校准
while(ADC1->CR2&1<<2); //等待校准结束
//该位由软件设置以开始校准,并在校准结束时由硬件清除 [/mw_shl_code]
这是正点原子写的程序,你看他就是先开启AD转换器的。。。他是不是不规范?
@操作系统
手册写的这么清楚 0:关闭ADC转换/校准,并进入断电模式
不开怎么校准
但是第一图PDF,写的是启动校准前,必须先关电状态(ADON=‘0’)
这不矛盾吗。。。
一周热门 更多>