找回密码
 注册
查看: 417|回复: 1
打印 上一主题 下一主题

PWM调光控制LED灯,灯亮没有变化,怎么配置?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-11-27 18:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
配置好,灯亮了,没有变化,是常亮状态,高手帮忙指点一下,多谢。单片机:STM32F103C8T6,系统时钟我选用48Mhz,不知道对不对?
4 q1 r/ [% W0 x0 O
+ d' F3 ^/ i# t% |) @/ i$ e) `6 I( u5 B
主函数:
  p2 E/ o8 h# {# Tint main(void)7 ?9 _) U* ?7 \' G  F3 p/ C3 g! v
{
: l. Q7 N6 K3 Y% L        u16 led0pwmval=0;7 A- p) x3 v, F( s6 s8 k" b
        u8 dir=1;        ! }: B! u5 u: T( J4 q6 u: ^, P+ ?
        delay_init();
( T% m, N; s, h& o        PWM_Init(599,0);//不分频。PWM频率=48000000/600=80Khz( o" l+ Y6 `7 B! e8 w
                 
# a( ?; `% c2 n           while(1)
# A9 A! r$ M: ]6 n. E& E        {. Y3 j* h# `0 O; ^" ?3 E
                delay_ms(500);         
' j; X( f) Q3 Q. {9 J& S1 ]1 |                if(dir)led0pwmval++;
# R% a0 h9 a) H/ v) O/ I5 o. o                else led0pwmval--;
# b+ U6 o0 D  V. d' z2 M# N/ y. ^' z
                if(led0pwmval>300)dir=0;' s5 E" X1 b7 r5 N- B
                if(led0pwmval==0)dir=1;                                                                                 9 t! w! _4 F6 ^$ P
                TIM_SetCompare2(TIM1,led0pwmval);                  
  ^. v9 Y! }# y2 e        }         ! ?3 z9 t6 G/ h. J
        * n7 W2 ~7 J) X2 s3 Z: h, S# B

6 Y- m# a% `- a, o0 u8 v* w
/ W( Z/ _7 u7 n4 X) C}! Z4 k: m' W3 p' l% k. P6 l
# q/ @2 i* a" D
% `# B/ {3 G' x
PMW.C
7 h8 J* B/ p$ V( Z3 Bvoid PWM_Init(u16 arr,u16 psc)" \7 s5 B0 C- z% m0 P
{
8 L4 ~: v' D1 s, ]# s) W3 e& ~# Q+ L        GPIO_InitTypeDef GPIO_InitStructure;) g6 E& U1 s# d- u: H) c7 q; N
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
4 d9 P, ]4 b/ X% P$ \* M0 U1 p        TIM_OCInitTypeDef TIM_OCInitStructure;# y& w% t  O* L1 _& R6 x
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);4 @5 o" L/ b, W2 m" U" b
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);6 T6 _* p1 |! ^4 V
       
1 a' ]5 {1 }' ?; J        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //TIM2_CH39 J" ^( O. W; L' D' i' H2 _
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
2 H& J, J9 |, w8 \! k' X5 M1 |        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
# e+ X: R# S# }+ u8 l- T* N        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO2 `! t9 }- c. ^
        //GPIO_ResetBits(GPIOB,GPIO_Pin_0);//置1
1 o3 T+ H* c; j: ~. d3 t       
7 X0 U9 V' W, T/ f& B       
( L4 r: i4 y2 e8 F/ F5 [+ o+ ^        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射
  j$ G# Q* h4 w/ H4 q7 t" c, w        2 P/ t) i+ Z7 A/ S+ I
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms- R. c! M3 d& @7 `
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
7 ^, B+ P  l7 \6 R        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
- Z# a5 K) }8 D5 j' ?2 P        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式6 F+ s, Q) ^$ F: u
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
9 C% }4 M/ ?: p+ e; a7 K       
& y) B3 ?& M% `, [) R        # w5 r0 j2 A* S7 W
        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;$ _% t6 F0 F/ }% D& L! w
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
8 {: c6 j. m2 H- @4 H        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;, c- ]7 k& G/ ^
        TIM_OC2Init(TIM1,&TIM_OCInitStructure);9 ^* Z, r0 \! t+ e
        7 j8 x: o! u. U
        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);/ d) Y+ D) a- e" q$ q
        TIM_Cmd(TIM1,ENABLE);% J5 X9 [- j; O, W( U: O
; |. ^' q& A- N  P

( {6 ?0 \( W3 P9 p}
+ d; l8 c$ b  E) B$ v( R1 m  W$ L: S! R1 K( ~8 x

" o8 e# m$ V7 Y5 S" w

QQ截图20221127181202.png (52.47 KB, 下载次数: 6)

QQ截图20221127181202.png

该用户从未签到

2#
发表于 2022-11-28 10:23 | 只看该作者
请教大神帮忙解答。: u* \; K: B, z; u4 T, P
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-5-28 12:10 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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