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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
配置好,灯亮了,没有变化,是常亮状态,高手帮忙指点一下,多谢。单片机:STM32F103C8T6,系统时钟我选用48Mhz,不知道对不对?
- w2 {9 |2 a* y/ Z
3 [( O' X0 x/ i8 g' ?  c7 c, u% E- v* z% b
主函数:
3 ~" I+ T3 T0 s  h( Z4 x, u" u' ^! Zint main(void)
0 I4 b: t8 k) {{& T' D- k, _9 ?$ b/ }9 I3 `
        u16 led0pwmval=0;
" v5 K% m7 e# e3 `6 s4 L5 X1 L        u8 dir=1;       
& C# n+ O8 `/ F, ]        delay_init();
- v* G2 P0 x* g        PWM_Init(599,0);//不分频。PWM频率=48000000/600=80Khz
% g7 |& @) y& }, q9 b) `                 
7 k% b1 v. y7 n, |) P3 |           while(1)
5 B1 C& r% J! B; L& ^" u        {
* O+ e/ s7 _, r7 p4 w/ d( w. y, \8 b                 delay_ms(500);         
4 J" `" ]! ?# K                if(dir)led0pwmval++;1 \8 k3 c6 F6 H, o5 q1 a
                else led0pwmval--;
/ W: i: S+ `5 O5 b% v9 M
/ U* a0 v& f+ h" C( D) {                 if(led0pwmval>300)dir=0;
3 M' p& F& _: F* d( Y/ Z. j- Y/ s                if(led0pwmval==0)dir=1;                                                                                 
! u& R0 Q4 \2 B# L                TIM_SetCompare2(TIM1,led0pwmval);                  
% y' ]! L8 |. {9 I/ r        }         
- C& h  t  M4 W9 B6 ~) U        1 }% l' X6 N; i9 Y
1 x! N* M' \7 y/ ?5 h' M
8 f" Z, [& C9 f$ K
}
) w4 }/ N$ k/ k3 J+ |) k: d& z- }/ Y6 _0 e
: Y* T: V; u+ x' d
PMW.C$ i3 i0 o5 m! T
void PWM_Init(u16 arr,u16 psc)
, A% O+ c# ?- H: L  k! C8 e{
+ j6 |: _: U# ]        GPIO_InitTypeDef GPIO_InitStructure;
! d0 x9 f" ]$ I/ U5 F        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;# n8 h7 [0 h" T, F) `; w
        TIM_OCInitTypeDef TIM_OCInitStructure;
, z* [, @, b! w        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
5 G! Y- t* ]3 x, Y1 l0 O- n3 E$ Q        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);; v- g/ P5 {5 e1 z" W
       
/ B2 v4 }! Z9 ?        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //TIM2_CH3
, y8 s) B( r* ^: t$ V3 o5 N        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出* R1 Q1 w1 M7 |- S1 t9 Q
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
8 o; l$ c% Z, {2 n3 @$ I        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO. Y. |2 ]4 Q  Q  _
        //GPIO_ResetBits(GPIOB,GPIO_Pin_0);//置1
& Q& f0 z! D, g/ Z        . F$ T' M8 W3 V) s5 e
        & Y" v' [  K# J& Z. n
        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射% d! l; b/ V  \) n5 y' T
        + _; B# G. S1 U: X
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms
( ]+ t! [9 l# q        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  * N* @6 e5 p  L9 C" j  a
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim$ l- ^4 C, ]) L  h4 i$ U/ L) Y
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式7 E3 v+ H, F$ g, m# W
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
* J4 u, }: W; t  [# g5 h+ k        $ a# j0 Y8 b) ?' P, v% h5 j
       
) J$ K: N  F" u, c        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;. v" D4 d# M& B
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
- a' B/ z% ^* D: N' s& H        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
9 X/ S( U) D2 Q4 Q( s# w        TIM_OC2Init(TIM1,&TIM_OCInitStructure);$ W# l/ l6 `7 ?1 J' R
        ; }1 z8 R! L: o9 }
        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);* V: ]/ \3 K( K- @+ }7 s: }8 u# E. A
        TIM_Cmd(TIM1,ENABLE);
7 i$ @5 J  D4 e( i  X2 l. b( _; f( I& P& W( A4 F
0 S( E2 t. S, w& v6 m
}
, q8 t* O4 ?2 ]6 v5 C; e" `! c* i& i" N) T# c  d" h- S1 A

: M* y$ Z4 S3 p* Y$ L! ?$ }8 k: O

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

QQ截图20221127181202.png

该用户从未签到

2#
发表于 2022-11-28 10:23 | 只看该作者
请教大神帮忙解答。
* K, M( H( ?: h+ R" D7 O
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-9-10 21:46 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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