程序问题

2019-03-23 18:48发布

本帖最后由 wanghlady 于 2014-11-3 16:19 编辑

u16 Get_Adc(u8 ch)   
{
        //éèÖÃ×a»»DòáD                           
        ADC1->SQR3&=0XFFFFFFE0;//1æÔòDòáD1 í¨μàch
        ADC1->SQR3|=ch;                                              
        ADC1->CR2|=1<<22;       //Æô¶ˉ1æÔò×a»»í¨μà
        while(!(ADC1->SR&1<<1));//μè′y×a»»½áêø                    
        return ADC1->DR;                //·μ»ØadcÖμ        
}
这里ch为1
有下面几个疑问:
1,ADC1->SQR3&=0XFFFFFFE0;是给通道编序号是么?2,工作的时候,是按照序号的顺序工作还是按照通道的顺序工作?PB0是ADC_IN8,PA0是ADC_IN0,这里的8,0是通道8和通道0吗?
假如我用PB1,是不是要用ADC1->SQ2?应该怎么配置?
3,ADC1->SQR3|=ch;这一句是什么作用呢
4,如果还要用到ADC2,ADC1和ADC2各自独立工作,可以吗



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
sint27
1楼-- · 2019-03-24 01:06
/ 本帖最后由 sint27 于 2014-11-3 16:19 编辑

楼主修改问题,故取消原回复
wanghlady
2楼-- · 2019-03-24 07:03
sint27 发表于 2014-11-3 16:08
ADC1->SQR3应该是某个寄存器,
1、就是给该寄存器赋值,具体什么意义应该看datasheet寄存器的解释
2、就 ...

BIT0置高?SQ3的0~4为是规则序列的第一个转换。置高bit0,对它来说是什么意义?不好意思,这里不太懂,也可能是我理解偏了
sint27
3楼-- · 2019-03-24 08:19
 精彩回答 2  元偷偷看……
wanghlady
4楼-- · 2019-03-24 09:17
sint27 发表于 2014-11-3 16:17
任意一个变量a|=1;就是置高其BIT0,这是从C语言的语法角度来讲的我没用过你的芯片,不知道其实际意义

...

恩 好  谢谢
wanghlady
5楼-- · 2019-03-24 12:49
sint27 发表于 2014-11-3 16:08
楼主修改问题,故取消原回复

恩  好的  没事  
wanghlady
6楼-- · 2019-03-24 15:53
 精彩回答 2  元偷偷看……

一周热门 更多>