• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32F407 ADC不采集数据

蓝枫 2019-04-23 浏览量:1402
无标题.png无标题1.png

使用TIM控制ADC采样,用cube生成的初始化源代码,经检查电路上没问题,但是AD采样保存数组打印出来全是0,经过推测属于AD未采样,但是现在不知道是因为定时器没有触发还是AD自身问题,各位大神有知道的么?或者有什么方法可以测试么?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 你是使用定时器触发的,定时器要使用cube配置好后的工程中,默认是没有打开定时器的,也就是定时器没有工作,你要手动添加打开定时器的代码才可以的
    • 发布于 2019-04-23
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 如果硬件电路没有问题,那么就是软件问题,你试一下不要保存后打印,使用实时打印看下,也就是adc采集完立马打印,或者配置成单次读取后打印试试看,排除定时器配置问题,如果还不行就是adc配置问题
    • 发布于2019-04-23
    • 举报
    • 评论 1
    • 0
    • 0
蓝枫 回复了 yhj416606438 :我用的HAL库封装好的函数体,是先将采集数据保存到一个数组里,然后接着我就打印了这个数组,一开始发现数据全是0,我将数组赋了几个初值,发现打印出来的数组没变。 回复

  • 单看这段程序的话,只看到定时器的配置,并没有使能开启,你加一个TIM的开启指令看一下。
    • 发布于2019-04-23
    • 举报
    • 评论 2
    • 0
    • 0
蓝枫 回复了 快没时间了 :HAL_TIM_PWM_Start(&htim3TIM_CHANNEL_1); 在AD采集前有一句这个TIM的开启。 回复
快没时间了 回复了 蓝枫 :你这一看就不对啊,怎么是PWM使能?HAL_TIM_base_Start(&htim)是启动定时器的。另外,如果还失败的话,你可以参考下例程看看,STM32Cube_FW_F4_V1.24.0\Projects\STM324xG_EVAL\Examples\ADC\ADC_TriggerMode 回复

相关问题

问题达人换一批

STM32F407 ADC不采集数据