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

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

[复制链接]
zhurong90s-3151 发布时间:2013-11-11 12:08
库函数TIM_UpdateRequestConfig用于设置寄存器,有两个参数:! v8 [9 ]) F3 Q. L
对于这个库函数参数的定义,说明一塌糊涂。  X( M. p8 F4 N' [0 U
函数的原型如下:
" h$ l" f* j& S7 F4 ?6 C手册原型:
; H7 g1 A' A+ f& z9 H, lvoid TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource); {6 e0 }  o8 B& ^& D- @2 G
{
! e5 k  h4 b" i5 h1 Y" }# H  /* Check the parameters *// Q3 w) R; t, i, T2 q+ P, ^5 j
  assert_param(IS_TIM_ALL_PERIPH(TIMx));
$ ^/ |, q# x1 `' Y* @9 @* G3 E5 R  assert_param(IS_TIM_UPDATE_SOURCE(TIM_UpdateSource));" r3 ~& j: H4 c$ T( Y& K
  if (TIM_UpdateSource != TIM_UpdateSource_Global)( s* k3 i7 b& E( x3 Z4 A& n
  {; \4 I6 w. J0 |
    /* Set the URS Bit */1 x8 Z7 |/ B5 j
    TIMx->CR1 |= TIM_CR1_URS;" q  E7 v/ J( k* \0 K3 r' S! H0 |
  }
0 w5 o) U" `/ h( t# ^# R5 Q  else: c) ~# K& @+ M4 Y. ^9 b
  {0 A+ n% r, p, R
    /* Reset the URS Bit */2 B3 q0 z6 n& ~9 m6 X; O
    TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_URS);6 X, I) Q7 Q2 Z4 j
  }
6 W- j) X- Q' X3 q% |* h}. S0 H3 A, Z. B0 o, R# n
库函数原型:
" i# B1 a# |- U; ?  r9 Vvoid TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource)
- X' Q, U9 Y/ [. h/ Y8 v{; }4 p, J' h* z
  /* Check the parameters */( m; H6 F9 a$ {
  assert_param(IS_TIM_ALL_PERIPH(TIMx));& ?* W0 E* b9 E; h
  assert_param(IS_TIM_UPDATE_SOURCE(TIM_UpdateSource));: V: Q# G( g$ n
  if (TIM_UpdateSource != TIM_UpdateSource_Global)
+ h# v6 ^5 j3 d  {4 d! F$ Y. j' F! l  X6 |9 M4 H. F
    /* Set the URS Bit */
& ?% O2 ?! w. A. P0 S    TIMx->CR1 |= TIM_CR1_URS;4 k3 ?: I  Q/ W( W( P
  }: k8 T% ]1 x. M
  else8 }! V# x( o% _1 c; k: ^9 P
  {! q0 x1 t1 i) b6 {+ \; c
    /* Reset the URS Bit */
# j: o6 C8 Y$ @    TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_URS);- X2 m2 u0 N, q6 u
  }  c& k( Q! b/ o3 b
}
3 [: ^' w3 y1 F各位看官,至于她什么地方一塌糊涂,自己研究。; l4 [0 C3 c) B8 ~3 q; K8 e2 h
我说一下,如何正确使用这个函数。' I) D# f5 C0 x' y+ E* `
1.手册中的参数两个参数解释,反了(stm32f10x_stdperiph_lib_um.chm):
7 E7 V! m/ [  C& B* ?2 z
       
    0 Z" w3 z8 l0 T, a1 T
  • 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.   
    / Y/ A, t* F7 E3 g
  • TIM_UpdateSource_Global: Source of update is counter overflow/underflow
    + C' j* @* Y5 R  e8 @  E6 V/ c4 g
 
1 S( Y3 \4 ^, K4 i" ~2.库函数定义处的说明同上一样反了。stm32f10x_time.c 第2109行。/**
3 q0 J0 [' ~- D' t, b  * @brief  Configures the TIMx Update Request Interrupt source.
6 T" I3 S% b2 k9 m& v  \- T  * @param  TIMx: where x can be 1 to 17 to select the TIM peripheral.
8 f: Y& z6 H2 `/ X3 d) N  * @param  TIM_UpdateSource: specifies the Update source., E8 ^3 ~9 ^# k, l9 J
  *   This parameter can be one of the following values:: p3 H$ v' h3 j3 _& u
  *     @arg TIM_UpdateSource_Regular: Source of update is the counter overflow/underflow; q6 ~2 [, d% S3 K, c+ c# f' D
                                       or the setting of UG bit, or an update generation4 d* n- Q' e- Q; B: O3 H
                                       through the slave mode controller.- C2 ?+ p9 J. k9 }1 h0 s' H
  *     @arg TIM_UpdateSource_Global: Source of update is counter overflow/underflow.: ~. r' F1 C: o4 d
  * @retval None, t1 P/ C' ?. U7 \( e* q* L5 @
  */3.参数宏定义的说明正确;stm32f10x_time.h 第0806行。#define TIM_UpdateSource_Global            ((uint16_t)0x0000) /*!< Source of update is the counter overflow/underflow$ t* l# `3 F/ V) M
                                                                   or the setting of UG bit, or an update generation3 y$ T# t; _, z: y2 H
                                                                   through the slave mode controller. */
, B0 V: ]7 s: N8 g# J) q#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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版