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

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

[复制链接]
zhurong90s-3151 发布时间:2013-11-11 12:08
库函数TIM_UpdateRequestConfig用于设置寄存器,有两个参数:" i- n5 t5 I2 {7 E2 O6 S3 W
对于这个库函数参数的定义,说明一塌糊涂。4 Z- w8 i+ |0 r4 \7 y6 c- V
函数的原型如下:  g4 Y, z: X4 X: Q( a( _8 s
手册原型:5 D) s1 r* U. _" z/ _
void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource)( K( v: C  H1 @! @7 a6 a/ i
{. I- B" E" G1 N. E
  /* Check the parameters */
6 P9 x- n. Z/ I- P9 F  assert_param(IS_TIM_ALL_PERIPH(TIMx));  W) ~8 {9 Y$ ]9 N. `3 E7 e; J
  assert_param(IS_TIM_UPDATE_SOURCE(TIM_UpdateSource));2 `9 g+ Q$ ^, y/ `! \$ ~
  if (TIM_UpdateSource != TIM_UpdateSource_Global)& E* O" w* V0 |$ ^- M
  {& e* k6 X9 k* y7 H! V
    /* Set the URS Bit */" M$ {' k/ H, e
    TIMx->CR1 |= TIM_CR1_URS;
! }! R9 U  x4 e3 @" V  }. U* v. H8 I; d4 d- W/ |
  else3 @$ I4 p8 f, O- d+ T  ^
  {0 E1 y7 d) m  z
    /* Reset the URS Bit */, i6 T- b+ \: Q4 O; k, r2 O
    TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_URS);
! b) q6 a% A* ?1 b8 r. n: O  }8 ]- y' U" V- Y4 A+ E$ u* U9 d( c! j
}6 S" B1 T8 K$ Q/ Q/ A: l" W
库函数原型:, N9 [$ b) G' f9 A
void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource)8 ?: Z* Z+ q4 D% t) O8 _
{
9 x# n' ]6 u- d" _, A  D# C  /* Check the parameters */
+ {4 q- Z0 S9 T* u  assert_param(IS_TIM_ALL_PERIPH(TIMx));; s8 Z+ R  B* J* Q" N
  assert_param(IS_TIM_UPDATE_SOURCE(TIM_UpdateSource));  ^; v2 [+ u" x4 i6 _2 p7 _* q
  if (TIM_UpdateSource != TIM_UpdateSource_Global), ?' H6 Z- ]2 O
  {
8 |/ U; `. @# ^6 m  J# n7 l    /* Set the URS Bit */
4 S. o# M2 r: Y: B+ x- |5 k    TIMx->CR1 |= TIM_CR1_URS;
- i# _0 j& W3 c# {/ Z: r% M  }. H: c4 O# u4 ]5 ?4 _, p; R& [, o
  else+ W( @0 t5 b! ?
  {
+ l3 C9 ?& h$ `4 S8 M    /* Reset the URS Bit */' |" `! p9 O# R: q# B4 T+ T% d
    TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_URS);
  l6 K$ e1 J5 n2 u2 Q+ R  w, Z  }
' z9 z6 P: X8 C}! _! ~' G) v2 i8 b
各位看官,至于她什么地方一塌糊涂,自己研究。
3 _2 \' {+ D+ J# |' k" c9 ~3 @2 H我说一下,如何正确使用这个函数。9 U7 v$ J" u1 q# @( X9 p2 C$ g
1.手册中的参数两个参数解释,反了(stm32f10x_stdperiph_lib_um.chm):3 ]/ \5 `. r1 v+ f
        8 W) H4 K' X$ N$ M: ]% g* _
  • 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.    ( J. V$ K" H3 ^
  • TIM_UpdateSource_Global: Source of update is counter overflow/underflow1 j( @8 ^6 l/ y! ~0 G; K/ R' v
 
. L, j, ^1 u# y7 y4 T; \) e( E2.库函数定义处的说明同上一样反了。stm32f10x_time.c 第2109行。/**2 E0 W2 G6 k2 }* ?
  * @brief  Configures the TIMx Update Request Interrupt source.
% v/ K; o9 [& c  * @param  TIMx: where x can be 1 to 17 to select the TIM peripheral.
" C+ O- U# b9 Z- v  * @param  TIM_UpdateSource: specifies the Update source.
! _' p/ Y" r1 ~* P/ w  *   This parameter can be one of the following values:# t( E2 N2 K/ y! `# u( E
  *     @arg TIM_UpdateSource_Regular: Source of update is the counter overflow/underflow
% f7 f4 T. D' d- M                                       or the setting of UG bit, or an update generation
$ H1 ^) c9 ^' m" a( u                                       through the slave mode controller.
7 f2 y5 C% b* m* w  *     @arg TIM_UpdateSource_Global: Source of update is counter overflow/underflow.
% T% e1 p* b" b/ a0 _$ I% l# }2 P" E  * @retval None
% F" k, u  K  H" Z3 p  */3.参数宏定义的说明正确;stm32f10x_time.h 第0806行。#define TIM_UpdateSource_Global            ((uint16_t)0x0000) /*!< Source of update is the counter overflow/underflow; O) b- v! V9 c" f) |& f) u
                                                                   or the setting of UG bit, or an update generation
# c" X% M6 H( A, O1 \& f0 h$ [& [! S, P                                                                   through the slave mode controller. */+ C: S4 L, i3 ]. U$ J$ a
#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 手机版