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

使用问题

[复制链接]
heyongbo236 提问时间:2016-12-8 16:47 /
本帖最后由 heyongbo236 于 2017-4-3 13:52 编辑



/* ### - 1 - Initialize ADC peripheral #################################### */
  /*
   *  Instance                  = ADC1.
   *  OversamplingMode          = Disabled
   *  ClockPrescaler            = PCLK clock with no division.
   *  LowPowerAutoPowerOff      = Disabled (For this exemple continuous mode is enabled with software start)
   *  LowPowerFrequencyMode     = Enabled (To be enabled only if ADC clock is lower than 2.8MHz)
   *  LowPowerAutoWait          = Disabled (New conversion starts only when the previous conversion is completed)      
   *  Resolution                = 12 bit (increased to 16 bit with oversampler)
   *  SamplingTime              = 7.5 cycles od ADC clock.
   *  ScanConvMode              = Forward
   *  DataAlign                 = Right
   *  ContinuousConvMode        = Enabled
   *  DiscontinuousConvMode     = Disabled
   *  ExternalTrigConvEdge      = None (Software start)
   *  EOCSelection              = End Of Conversion event
   *  DMAContinuousRequests     = DISABLE
   */

  AdcHandle.Instance = ADC1;

  AdcHandle.Init.OversamplingMode      = DISABLE;

  AdcHandle.Init.ClockPrescaler        = ADC_CLOCK_SYNC_PCLK_DIV1;
  AdcHandle.Init.LowPowerAutoPowerOff  = DISABLE;
  AdcHandle.Init.LowPowerFrequencyMode = ENABLE;
  AdcHandle.Init.LowPowerAutoWait      = DISABLE;

  AdcHandle.Init.Resolution            = ADC_RESOLUTION_12B;
  AdcHandle.Init.SamplingTime          = ADC_SAMPLETIME_7CYCLES_5;
  AdcHandle.Init.ScanConvMode          = ADC_SCAN_DIRECTION_FORWARD;
  AdcHandle.Init.DataAlign             = ADC_DATAALIGN_RIGHT;
  AdcHandle.Init.ContinuousConvMode    = ENABLE;
  AdcHandle.Init.DiscontinuousConvMode = DISABLE;
  AdcHandle.Init.ExternalTrigConvEdge  = ADC_EXTERNALTRIGCONVEDGE_NONE;
  AdcHandle.Init.EOCSelection          = ADC_EOC_SINGLE_CONV;
  AdcHandle.Init.DMAContinuousRequests = DISABLE;

  /* Initialize ADC peripheral according to the passed parameters */
  if (HAL_ADC_Init(&AdcHandle) != HAL_OK)
  {
    Error_Handler();
  }


收藏 2 评论20 发布时间:2016-12-8 16:47

举报

20个回答
heyongbo236 回答时间:2016-12-8 20:18:51
cuyebiren 发表于 2016-12-8 17:18
应该 是在 HAL_ADC_Init(&AdcHandle)  中 使能的 时钟。。。带 Start 的函数 中 使能 相应外设。。。 ...

灰常感谢您!!!您这么一说倒是提醒了我!!!问题好像解决了!!!我刚又去看了下官网提供的那个源程序,您说的HAL_ADC_Init(&AdcHandle)这个初始化函数里面,确实有个地方提到了  外设时钟使能的函数:HAL_ADC_MspInit(hadc);在这个函数里面又有一个函数:ADCx_CLK_ENABLE();这个函数就是使能外设时钟的,这个函数里面又有一个宏定义,是在main.h里定义的,而main.h里面的是宏是调用的_hal_rcc_ex.h里的,也是在这里操作使能时钟寄存器的,说了半天,貌似就是绕一大圈回到了rcc库里去了。。。再次感谢您。以后还会遇到问题,希望到时候多多关注,多多指教啊!!!

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

heyongbo236 回答时间:2016-12-8 19:54:21
any012 发表于 2016-12-8 16:59
额,这阵子也在学习HAL库,说下自己遇到的。
定时器,初始化后,需要自己启动,是个中间有start字符的函数 ...

谢谢您的关注和分享,你也在弄这个呢!我今天只弄了下GPIO点个灯的,这个还是比较好明白,ADC那个能采出准确数据但是还多其它的模式不明白,定时器和串口我暂时还没去弄,这个库是有点不习惯,不熟悉啊,现在也没有很多资料可查找的,有机会多多交流啊!!!相互学习下!!!
any012 回答时间:2016-12-8 16:59:08
额,这阵子也在学习HAL库,说下自己遇到的。
定时器,初始化后,需要自己启动,是个中间有start字符的函数,对应的停止计时器的函数,里面有个stop字符;
串口初始化后,用对应的函数发送时,里面又调用使能串口,或使能中断的宏,超时或完成后,会自动关闭中断,关闭串口;
SPI和串口类似;
其他的暂时还没用到,不了解。
jackten 回答时间:2016-12-8 17:08:11
没做过                       
cuyebiren 回答时间:2016-12-8 17:18:27
应该 是在 HAL_ADC_Init(&AdcHandle)  中 使能的 时钟。。。带 Start 的函数 中 使能 相应外设。。。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

heyongbo236 回答时间:2016-12-8 19:56:06

恩,没关系,可以看看,以后这个可能会替代以前的,据说哦,谢谢!!!
heyongbo236 回答时间:2016-12-8 20:22:00
新手上路,刚成为初级啦啦啦
cuyebiren 回答时间:2016-12-8 20:30:02
heyongbo236 发表于 2016-12-8 20:18
灰常感谢您!!!您这么一说倒是提醒了我!!!问题好像解决了!!!我刚又去看了下官网提供的那个源程序 ...

没事可以多看看源码,搞明白它是怎么运作的。。。不用搞得特别明白,感觉达到会用不疑的程度就可以了。。。
heyongbo236 回答时间:2016-12-8 20:36:23
cuyebiren 发表于 2016-12-8 20:30
没事可以多看看源码,搞明白它是怎么运作的。。。不用搞得特别明白,感觉达到会用不疑的程度就 ...

嗯嗯。。。好的。。。确实是应该多看看,了解了解内部是怎么运作的。看来你很多经验啊。我新手啊
any012 回答时间:2016-12-9 09:03:19
cuyebiren 发表于 2016-12-8 17:18
应该 是在 HAL_ADC_Init(&AdcHandle)  中 使能的 时钟。。。带 Start 的函数 中 使能 相应外设。。。 ...

额,是我搞错了,抱歉哈。
斜阳 回答时间:2016-12-9 09:14:25
灌一次水
heyongbo236 回答时间:2016-12-9 09:31:47
any012 发表于 2016-12-9 09:03
额,是我搞错了,抱歉哈。

恩恩。没事啊!你说的那个Start是没有。不过确实也是您说的 HAL_ADC_Init(&AdcHandle) 这个里面找到的那个时钟使能的。正是因为您这么一说,我才想起去找这个的,不过我今天又发现不是每一个外设都可以这么去找,有些还不一样。这些天都要看这么东西,感觉问题还不少!!!
heyongbo236 回答时间:2016-12-9 09:32:18

嗯呢。。。。谢谢关注。。。。。。。。。。。。。。。。
zbber 回答时间:2016-12-9 11:12:42
没做过                       ,真是难得给力的帖子啊
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版