找回密码
 注册
关于网站域名变更的通知
查看: 384|回复: 1
打印 上一主题 下一主题

求教定时器通道单独关闭???

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-7-18 17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 yxlk 于 2019-7-18 17:55 编辑 ' D4 U+ P0 S+ t: H, t
1 _: c8 }! N! m; ?2 T. ?
void TIM4_Configuration(void)$ I) B% h5 n2 h: T
{6 k% E3 j( b0 [# l2 r7 _
        u32        temp;' h; \5 @* X; u0 a
        TIM_TimeBaseInitTypeDef        TIM_TimeBaseInitStruct;1 ~; A3 }3 `0 W. N% x5 I
        TIM_OCInitTypeDef TIM_OCInitStruct;4 A7 m- r6 P7 ?% ]2 |7 p; k2 ^# R9 F- y8 G

" s/ P' d3 P5 T5 f        temp = SystEMCoreClock / 1000000;+ P4 Z' f! z' ?; W. K) y
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);                        
1 d# B/ X6 k' C- R6 G+ N5 E        TIM_DeInit(TIM4);
$ g5 M& ^- N9 Z1 A" G6 M        if(SystemCoreClock > 36000000)
1 J$ I# u0 h5 ~4 N( A        {+ g+ ~  c, O. T/ N" I8 ]9 w9 Q
                TIM_TimeBaseInitStruct.TIM_Prescaler = 1;0 f! [0 U. r+ y& l7 C
                TIM_TimeBaseInitStruct.TIM_Period = PWM_Period * temp / 2;5 r1 Q5 {) j3 z5 ?5 q
                TIM_OCInitStruct.TIM_Pulse = PWM_Recharge * temp / 2;* A7 J7 B0 }! O& X+ P; e: I
        }/ ~; I. L( z2 J
        else
' v$ O- U9 o! J6 e) U: A, G        {! x2 `8 f1 c9 S/ C- U  {3 A: Z$ w
                TIM_TimeBaseInitStruct.TIM_Prescaler = 0;
- i+ P% O. _  x& @, W3 }& `                TIM_TimeBaseInitStruct.TIM_Period = PWM_Period * temp;" z" D. v: X* k* J' l. n
                TIM_OCInitStruct.TIM_Pulse = PWM_Recharge * temp;6 C' u1 N8 N; d# i) z
        }$ |& E( n* r0 f8 J$ I6 x/ o
        TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;
" x# x+ F* u2 u# ~' [( a: M        TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1;) ~4 E# ?7 E3 w- p$ \
        TIM_TimeBaseInit(TIM4, &TIM_TimeBaseInitStruct);
8 e# r  U2 _" M4 K  ?* x
5 O  Q  @% d. w; f- Q5 _        TIM_OCInitStruct.TIM_OCMode        = TIM_OCMode_PWM1;
$ u! N$ G/ b9 m        TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Disable;
2 `  S9 p) t& t1 {- z        TIM_OCInitStruct.TIM_OCPolarity        = TIM_OCPolarity_High;
' i: {7 V5 N! q% t0 L( I        TIM_OC1Init(TIM4, &TIM_OCInitStruct);4 l* f) W' J" t0 f! ^1 a; L
        TIM_OC2Init(TIM4, &TIM_OCInitStruct);0 H$ X3 K  ]' k) V2 L3 h% ~
        TIM_OC3Init(TIM4, &TIM_OCInitStruct);
: s  X1 \/ l3 q; e0 J, D8 y  O        TIM_OC4Init(TIM4, &TIM_OCInitStruct);9 l/ p9 l8 e& b4 q" z$ S$ N& U2 }

7 ~! h2 r3 p5 a0 a# i        TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);) P; P/ ~9 N: Y- F! @
        TIM_OC2PreloadConfig(TIM4, TIM_OCPreload_Enable);4 L8 u9 B, t/ n, @' b! P
        TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);
3 V! E! S$ b: F1 w        TIM_OC4PreloadConfig(TIM4, TIM_OCPreload_Enable);
, K! E* F% J/ X: H7 t4 C  e) g) m8 b        TIM_CCxCmd(TIM4, TIM_Channel_1, TIM_CCx_Enable);
' M, d: v/ H. k- n        TIM_CCxCmd(TIM4, TIM_Channel_2, TIM_CCx_Enable);3 D/ V6 k0 C& \* x- ]' ^' W
        TIM_CCxCmd(TIM4, TIM_Channel_3, TIM_CCx_Enable);* _4 |* f2 D5 l2 Z
        TIM_CCxCmd(TIM4, TIM_Channel_4, TIM_CCx_Enable);( q! h. D; v' q$ x$ F
        TIM_ARRPreloadConfig(TIM4, ENABLE);
* e7 _  ^) r9 h+ @' |, [" d4 v$ ?1 I0 S4 @1 w0 j1 L
        TIM_CleaRFlag(TIM4, TIM_FLAG_Update);
. N2 L1 r7 y: y        TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);/ M; z3 F# i  R' N  ^2 L3 H7 O3 }
        TIM_Cmd(TIM4, ENABLE);
, l6 F3 N" j- R5 K9 n4 M        
. @% E5 A; N7 {        TIM_CCxCmd(TIM4, TIM_Channel_2, TIM_CCx_Disable); //放在这里面起作用9 G; K' B; T8 H/ m/ ~
}$ D3 Q3 ~4 c" m- S# ?

. h1 R- v) o5 E
& |( l0 o2 z- W. k2 B) J, x        。; X4 Q/ t6 x( T- C) |
        。
! P; ?0 g& F( P! U        。
5 O+ R% ]! {. i  _' N. c0 n# W* `% r5 V) ^! S
        TIM4_Configuration();
/ s8 v7 E" x% l( P# |5 D1 \/ M) ?0 l4 `' B0 S( D' U
//期望随时单独失能某一通道,但这样不起作用:        $ K4 l# f5 C7 s, h1 n
        TIM_CCxCmd(TIM4, TIM_Channel_2, TIM_CCx_Disable);
* j3 e- B) d* o- x2 N, ]: g
: {0 r8 G9 Q. C
$ z4 m9 f! ?5 D1 n& N* x& a. D+ n

该用户从未签到

2#
发表于 2019-7-18 18:42 | 只看该作者
建议仔细阅读数据手册,每个定时器都有一个CCER位,看看它的作用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 21:48 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表