ADC 温度采集 寄存器小问题

2019-08-14 14:45发布

2.png 圈出来的表示看不懂,第一条说的是上电后校准,第二条却说要在关电模式校准,是我理解错了还是手册写的垃圾。



我看了看寄存器版本的程序,发现他是先把ADON写‘1’,再复位校准,再校准
2.png


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
操作系统
1楼-- · 2019-08-14 19:59
SNEZSTM32 发表于 2017-8-27 14:39
[mw_shl_code=c,true]        ADC1->CR2|=1

校正,与不校正的区别应该不会很大.一般人应该可以容忍.你可以尝试修复这个初始化.看看区别有多大.当然,原子哥的代码,并且没有达到无可挑剔的境界.
操作系统
2楼-- · 2019-08-15 00:43
这个好理解.为了得到更加精确的ADC值.要求程序用代码校正一次.校正前不要 开启ADC功能.完毕.
SNEZSTM32
3楼-- · 2019-08-15 02:13
操作系统 发表于 2017-8-27 13:21
这个好理解.为了得到更加精确的ADC值.要求程序用代码校正一次.校正前不要 开启ADC功能.完毕.

[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转换器的。。。他是不是不规范?
@操作系统
wxjhby
4楼-- · 2019-08-15 02:57
SNEZSTM32 发表于 2017-8-27 14:39
[mw_shl_code=c,true]        ADC1->CR2|=1

手册写的这么清楚 0:关闭ADC转换/校准,并进入断电模式
不开怎么校准
SNEZSTM32
5楼-- · 2019-08-15 08:23
 精彩回答 2  元偷偷看……
SNEZSTM32
6楼-- · 2019-08-15 13:37
wxjhby 发表于 2017-8-27 18:31
手册写的这么清楚 0:关闭ADC转换/校准,并进入断电模式
不开怎么校准

但是第一图PDF,写的是启动校准前,必须先关电状态(ADON=‘0’)
这不矛盾吗。。。

一周热门 更多>