OpenEdv-开源电子网

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

ADC扫描

[复制链接]

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2015-9-17
在线时间
17 小时
发表于 2016-7-22 11:26:29 | 显示全部楼层 |阅读模式
1金钱
ADC1->CR1|=0<<16; //独立工作模式
ADC1->CR1&=~(1<<8); //非扫描模式
ADC1->CR2&=~(1<<1); //单次转换模式
ADC1->CR2&=~(7<<17);
ADC1->CR2|=7<<17; //软件控制转换
ADC1->CR2|=1<<20; //使用用外部触发(SWSTART)!!! 必须使用一个事件来触发




在设置独立工作模式时。将0左移16,这样写的。而设置非扫描模式时将ADC1->CR1&=~(1<<8); 和ADC1->CR1|=0<<8;这样写有没有什么区别  

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-7-22 11:26:30 | 显示全部楼层
ADC1->CR1|=0<<16; //独立工作模式
这个是为了告诉你,独立工作模式设置是这一位。

ADC1->CR1有没有区别,你假设第八位为1看看结果。
原子哥的代码,都是默认寄存器是缺省值,所有他这样设,实践用的时候最好别这样。
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2015-9-17
在线时间
17 小时
 楼主| 发表于 2016-7-22 11:39:55 | 显示全部楼层

假设第8位为1,只能用ADC1->CR1|=1<<8;  ,而第8位为0的话,两种都可以吧?
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-7-22 12:30:39 | 显示全部楼层
超哥也疯狂 发表于 2016-7-22 11:39
假设第8位为1,只能用ADC1->CR1|=1


这种计算的问题就不要问了。。。。。
ADC1->CR1&=~(1<<8); 这个是第八位清0
ADC1->CR1|=0<<8;这个是一点实际的操作都没有的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-5 07:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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