OpenEdv-开源电子网

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

感觉stm32adc 原子哥的代码有个小bug。。。。

[复制链接]

49

主题

110

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
477
金钱
477
注册时间
2012-9-17
在线时间
0 小时
发表于 2012-12-2 09:44:25 | 显示全部楼层 |阅读模式
在看原子大哥的代码的时候发现

如下图


注意上面的校准,,
ADC->CR2 |= 1<<2;
WHILE(ADC->CR2 & 1<<2);
这两句校准代码之前开启了adc。
adc1->cr2 |= 1<<0;

但是我在看stm32参考手册时候,
有如下介绍


在校准之前,必须要使得adc处于关闭状态才行。
也就是说原子哥这样校准是没效果的吧!!!!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-2 10:48:18 | 显示全部楼层
你可以注释掉我的那部分代码,即没校准的时候,下载代码,看看ADC的读数。
然后再加上我这部分代码,再看看ADC读数。

不开启ADCON,是没法完成校准的,这个你修改代码试试就知道了。
它这句话的意思,我的理解应该是:在启动校准前,ADC至少处于关电状态2个ADC时钟,然后开启ADON,再校准。
而不是你理解的ADON一直为0.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

49

主题

110

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
477
金钱
477
注册时间
2012-9-17
在线时间
0 小时
 楼主| 发表于 2012-12-2 11:14:24 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥说的既是。我实验了。如果先校准再开adcon的话
校准是过不去的。死在循环里面。
如果不加校准,测得的数据有波动,确实就没经过校准后的准。。
原子哥威名
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 04:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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