OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9718|回复: 12

ADC1->SMPR2&=~(3*1); 3*1这是啥意思。。。。

[复制链接]

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
发表于 2016-4-6 10:51:52 | 显示全部楼层 |阅读模式
5金钱
如题。。。。

最佳答案

查看完整内容[请看2#楼]

就是3. *1,说明还可以*2,*3,具体的,你自己看寄存器定义.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-4-6 10:51:53 | 显示全部楼层
就是3.  *1,说明还可以*2,*3,具体的,你自己看寄存器定义.
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11538
金钱
11538
注册时间
2014-4-1
在线时间
1314 小时
发表于 2016-4-6 11:05:55 | 显示全部楼层

看下寄存器定义,应当就明白了。

回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-4-6 11:13:24 | 显示全部楼层
xuande 发表于 2016-4-6 11:05
看下寄存器定义,应当就明白了。

这个通道1采样时间清空和设置为什么不直接写成:
ADC1->SMPR2&=~(7<<3);
ADC1->SMPR2|=7<<3;

看不懂这个~(3*1).....
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-4-6 14:09:43 | 显示全部楼层
ding   
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
 楼主| 发表于 2016-4-6 22:15:53 | 显示全部楼层
正点原子 发表于 2016-4-6 10:51
就是3.  *1,说明还可以*2,*3,具体的,你自己看寄存器定义.

还是不懂。。。为什么不直接这样写?
ADC1->SMPR2&=~(7<<3);
ADC1->SMPR2|=7<<3;
回复

使用道具 举报

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-7-26
在线时间
19 小时
发表于 2016-8-27 20:11:58 | 显示全部楼层
xiaobudonglaosh 发表于 2016-4-6 22:15
还是不懂。。。为什么不直接这样写?
ADC1->SMPR2&=~(7

我与楼主有同样的疑问。
ADC1->SMPR2&=~(3*1);                    //通道1采样时间清空
这一句我想它应该是有问题的,因为通道1的设置位在位5:3,而这一句显然配置的是位1:0;
至于ADC1->SMPR2|=7<<(3*1);
我的理解是,这个“3”代表一个通道所占的位数,后面“1”则代表第1通道,通过修改“1”可以更方便地直接配置第N通道
回复

使用道具 举报

14

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2018-8-17
在线时间
34 小时
发表于 2018-10-4 20:01:51 | 显示全部楼层
理理还是乱 发表于 2016-8-27 20:11
我与楼主有同样的疑问。
ADC1->SMPR2&=~(3*1);                    //通道1采样时间清空
这一句我想 ...

对对!所以第一个到底咋理解
回复

使用道具 举报

0

主题

10

帖子

0

精华

高级会员

Rank: 4

积分
550
金钱
550
注册时间
2018-1-11
在线时间
74 小时
发表于 2018-12-14 23:09:48 | 显示全部楼层
第一句求理解?不是应该处理位[5:3]吗?而且清空时间有什么用啊?
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2019-8-16
在线时间
2 小时
发表于 2019-9-15 19:15:52 | 显示全部楼层
寄存器说明也没有写清楚啊
回复

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2019-9-24
在线时间
43 小时
发表于 2019-11-12 10:13:45 | 显示全部楼层
mcc95 发表于 2019-9-15 19:15
寄存器说明也没有写清楚啊

我也没看见寄存器哪里写清楚
回复

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
发表于 2021-3-17 17:38:35 | 显示全部楼层
理理还是乱 发表于 2016-8-27 20:11
我与楼主有同样的疑问。
ADC1->SMPR2&=~(3*1);                    //通道1采样时间清空
这一句我想 ...

刚好也有这个疑问,我怀疑是不是原子写少了应该是:ADC1->SMPR2&=~(7 << (3*1));                    //通道1采样时间清空
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2021-6-1
在线时间
2 小时
发表于 2021-8-10 10:38:28 | 显示全部楼层
ADC1->SMPR1&=~(7<<3*6);//清除通道16原来的设置       
这是原子光敏传感器的源码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-28 01:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表