OpenEdv-开源电子网

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

关于ADC_SoftwareStartConvCmd(ADC1, ENABLE);和ADC_SoftwareStartConvCmd(ADC1, DISABLE);的困惑

[复制链接]

16

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2014-9-22
在线时间
2 小时
发表于 2015-1-12 22:18:30 | 显示全部楼层 |阅读模式
5金钱
1、我在用mini_V3.0开发板做ADC的实验时,在这个函数u16 Get_Adc(u8 ch)作了一点点的修改,发现这样配置ADC_SoftwareStartConvCmd(ADC1, DISABLE);也可以采集到外部电压,为什么会这样呢?求指导,谢谢!!程序修改如下
//获取ADC的值
//ch:通道 0~3
u16 Get_Adc(u8 ch)   
{
 
ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,采样时间239.5个周期      
  
// ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能

ADC_SoftwareStartConvCmd(ADC1, DISABLE); //不使能指定的ADC1的软件转换启动功能
 
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束

return ADC_GetConversionValue(ADC1); //·返回最近一次ADC转换结果
}


2、另外,在做DAC实验时,也是上面同样的问题,还有一个就是,如果修改成下面这样,那么DAC也转换不了了,太奇怪了,求指导!
u16 Get_Adc(u8 ch)   
{
 
ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,采样时间239.5个周期      
  
// ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能

//ADC_SoftwareStartConvCmd(ADC1, DISABLE); //不使能指定的ADC1的软件转换启动功能
 
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束

return ADC_GetConversionValue(ADC1); //·返回最近一次ADC转换结果
}

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-1-12 22:51:50 | 显示全部楼层
这个确实比较奇怪,改成寄存器方式试试:
使能:
ADC1->CR2|=1<<22;                  //启动规则转换通道 
禁止:
ADC1->CR2&=~(1<<22);       //禁止规则转换通道
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

16

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2014-9-22
在线时间
2 小时
 楼主| 发表于 2015-1-13 09:38:19 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
改为寄存器方式配置,还是不行!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-1-13 23:54:16 | 显示全部楼层
回复【3楼】伊轩海:
---------------------------------
这。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2015-3-12
在线时间
9 小时
发表于 2015-3-12 12:37:52 | 显示全部楼层
请问楼主问题解决了吗?我也到这个问题了
回复

使用道具 举报

92

主题

202

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2014-3-14
在线时间
95 小时
发表于 2016-5-25 13:03:50 | 显示全部楼层
//        ADC_SoftwareStartConvCmd(ADC1, ENABLE);        //使能指定的ADC1的软件转换启动功能

//ADC_SoftwareStartConvCmd(ADC1, DISABLE);        //不使能指定的ADC1的软件转换启动功能


楼主下面那段代码,ADC1软件转换,都注释掉后。。。软件转换会处在什么状态啊???默认是使能还是失能什么状态,楼主研究出结果没有啊。。分享一下啊。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 14:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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