你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32F0芯片通过ad采样压值,始终读不到数据

[复制链接]
vvhhbc 提问时间:2015-11-22 21:36 /
本帖最后由 vvhhbc1 于 2015-11-22 21:46 编辑

stm32F0芯片通过ad采样压值,始终读不到数据, 检查电路是对的.

设置如下:
QQ图片20151122212413.jpg


我在应用中,添加如下:
1, 电池初始化部分
void BATT_Initial(void)
{
        HAL_ADCEx_Calibration_Start(&hadc);                //adc较准
        HAL_ADC_Start(&hadc);                                        //轮询模式

}

2,任务中实时不间断地采集电压ad值:
u32 GetBattValue(void)
{
        u32 bat=400;    //初始化电池ad值的缺省值为400

        HAL_ADC_PollForConversion(&hadc, 10);
        if(HAL_ADC_GetState(&hadc) == HAL_ADC_STATE_REG_EOC)        //EOC(EndOfConversion),用来做轮询或中断标记
        {
                 bat= HAL_ADC_GetValue(&hadc);
        }

        return bat;
}

采集到的ad值始终为初始值400, 或根本没有采集到ad值, 反复检查电路, 电路没问题是对的,

问题出在哪里?  盼能得到各位师友指点迷津, 谢谢!

收藏 1 评论11 发布时间:2015-11-22 21:36

举报

11个回答
Paderboy 回答时间:2015-11-23 07:37:25


再附上初始化和程序应该截图。。
QQ截图20151123073412.png

QQ截图20151123073432.png


最后把程序打包。。。不是工程。。。

STM32F030R8T6-ADC_POLL.rar (17.95 KB, 下载次数: 128)
埃斯提爱慕 回答时间:2015-11-22 22:19:14
提示: 作者被禁止或删除 内容自动屏蔽
Paderboy 回答时间:2015-11-22 22:21:08


我这个也是F0的板子。。。

按照我这配置你试试看。。


QQ截图20151122220345.png

QQ截图20151122221858.png
湛无双 回答时间:2015-11-22 23:39:36
楼主搜我的帖子,最新的帖子里就用到了ADC,给你拿去参考
vvhhbc 回答时间:2015-11-23 07:02:19
Paderboy 发表于 2015-11-22 22:21
我这个也是F0的板子。。。

按照我这配置你试试看。。

我按照你的配置,设置的一模一样了, 但结果还是一样, ad值始终是初始值400, 没有采集到实际ad值.

看来问题出在应用部分的ad读取部分, 你的应用部分的ad初始化 和 ad读取能给我参考下吗,

我应用部分这样写的, 不知道问题出在什么地方,
我在应用中,添加如下:
1, 电池初始化部分
void BATT_Initial(void)
{
        HAL_ADCEx_Calibration_Start(&hadc);                //adc较准
        HAL_ADC_Start(&hadc);                                        //轮询模式

}

2,任务中实时不间断地采集电压ad值:
u32 GetBattValue(void)
{
        u32 bat=400;    //初始化电池ad值的缺省值为400

        HAL_ADC_PollForConversion(&hadc, 10);
        if(HAL_ADC_GetState(&hadc) == HAL_ADC_STATE_REG_EOC)        //EOC(EndOfConversion),用来做轮询或中断标记
        {
                 bat= HAL_ADC_GetValue(&hadc);
        }

        return bat;
}





vvhhbc 回答时间:2015-11-23 12:44:09
Paderboy 发表于 2015-11-23 07:37
再附上初始化和程序应该截图。。

真是太感谢了, 参考你的代码, 果然通了!
Paderboy 回答时间:2015-11-23 13:33:44
vvhhbc1 发表于 2015-11-23 12:44
真是太感谢了, 参考你的代码, 果然通了!

调通了就好。。可以多看看,HAL库的例程。。。
安臣 回答时间:2015-11-23 13:55:57
Paderboy 发表于 2015-11-23 13:33
调通了就好。。可以多看看,HAL库的例程。。。

为毛他没给你金币:P:P:P:P:P:P:P:P
Paderboy 回答时间:2015-11-23 16:16:41
安臣 发表于 2015-11-23 13:55
为毛他没给你金币

就是,就是。。。 帮助一下,无所谓的。。。。 安臣就是我们的典范人物。。。。
安臣 回答时间:2015-11-24 09:09:36
Paderboy 发表于 2015-11-23 16:16
就是,就是。。。 帮助一下,无所谓的。。。。 安臣就是我们的典范人物。。。。 ...

呵呵。助人为乐
any012 回答时间:2018-11-30 09:46:19
Paderboy 发表于 2015-11-23 07:37
再附上初始化和程序应该截图。。

好久的帖子了,我也遇到了楼主的问题。
看了下层主的代码,发现层主没有检测ADC的EOC标志位。不应该检测EOC标志位再读取吗?

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版