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

STM32 定时器库函数,TIM_UpdateRequestConfig,不正确。

[复制链接]
zhurong90s-3151 发布时间:2013-11-11 12:08
库函数TIM_UpdateRequestConfig用于设置寄存器,有两个参数:
对于这个库函数参数的定义,说明一塌糊涂。
函数的原型如下:
手册原型:
void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource)
{
  /* Check the parameters */
  assert_param(IS_TIM_ALL_PERIPH(TIMx));
  assert_param(IS_TIM_UPDATE_SOURCE(TIM_UpdateSource));
  if (TIM_UpdateSource != TIM_UpdateSource_Global)
  {
    /* Set the URS Bit */
    TIMx->CR1 |= TIM_CR1_URS;
  }
  else
  {
    /* Reset the URS Bit */
    TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_URS);
  }
}
库函数原型:
void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource)
{
  /* Check the parameters */
  assert_param(IS_TIM_ALL_PERIPH(TIMx));
  assert_param(IS_TIM_UPDATE_SOURCE(TIM_UpdateSource));
  if (TIM_UpdateSource != TIM_UpdateSource_Global)
  {
    /* Set the URS Bit */
    TIMx->CR1 |= TIM_CR1_URS;
  }
  else
  {
    /* Reset the URS Bit */
    TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_URS);
  }
}
各位看官,至于她什么地方一塌糊涂,自己研究。
我说一下,如何正确使用这个函数。
1.手册中的参数两个参数解释,反了(stm32f10x_stdperiph_lib_um.chm):
       
  • TIM_UpdateSource_Regular: Source of update is the counter overflow/underflow or the setting of UG bit, or an update generation through the slave mode controller.   
  • TIM_UpdateSource_Global: Source of update is counter overflow/underflow
 
2.库函数定义处的说明同上一样反了。stm32f10x_time.c 第2109行。/**
  * @brief  Configures the TIMx Update Request Interrupt source.
  * @param  TIMx: where x can be 1 to 17 to select the TIM peripheral.
  * @param  TIM_UpdateSource: specifies the Update source.
  *   This parameter can be one of the following values:
  *     @arg TIM_UpdateSource_Regular: Source of update is the counter overflow/underflow
                                       or the setting of UG bit, or an update generation
                                       through the slave mode controller.
  *     @arg TIM_UpdateSource_Global: Source of update is counter overflow/underflow.
  * @retval None
  */3.参数宏定义的说明正确;stm32f10x_time.h 第0806行。#define TIM_UpdateSource_Global            ((uint16_t)0x0000) /*!< Source of update is the counter overflow/underflow
                                                                   or the setting of UG bit, or an update generation
                                                                   through the slave mode controller. */
#define TIM_UpdateSource_Regular           ((uint16_t)0x0001) /*!< Source of update is counter overflow/underflow. */ 
360软件小助手截图20131111114320.jpg
1 收藏 评论5 发布时间:2013-11-11 12:08

举报

5个回答
废鱼 回答时间:2013-11-11 15:15:48

RE:STM32 定时器库函数,TIM_UpdateRequestConfig,不正确。

谢谢楼主提出的意见。
回答时间:2013-11-12 22:10:10

RE:STM32 定时器库函数,TIM_UpdateRequestConfig,不正确。

不错哦,楼主很细心!
feiante-155820 回答时间:2013-11-13 07:50:27

RE:STM32 定时器库函数,TIM_UpdateRequestConfig,不正确。

楼主研究的很深啊
温柔的武士刀 回答时间:2013-11-13 22:37:35

RE:STM32 定时器库函数,TIM_UpdateRequestConfig,不正确。

涨姿势,谢谢楼主!
小景在线 回答时间:2017-4-11 11:43:01
楼主说的没错,库函数是解释错误了,在头文件中是正确的,但是行数应该是0860行【3.参数宏定义的说明正确;stm32f10x_time.h 第0806行。 】,我的库文件是3.5.0

所属标签

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