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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
配置好,灯亮了,没有变化,是常亮状态,高手帮忙指点一下,多谢。单片机:STM32F103C8T6,系统时钟我选用48Mhz,不知道对不对?
$ K& V+ y( v* W  ^8 L) h4 x# t) [6 b; c
2 M% e; m. e- \
主函数:
3 H( u5 w& z* a7 B; h: lint main(void)
$ M! n% n/ T  _/ B8 m# Q/ X% Z{! d9 q! B1 h$ t8 j6 Y. c
        u16 led0pwmval=0;
+ ]- v4 L6 b+ @/ u        u8 dir=1;        $ @" L. H/ z* K
        delay_init();9 E1 z  E. ]5 \$ E0 Z
        PWM_Init(599,0);//不分频。PWM频率=48000000/600=80Khz
# _  z- w8 |5 [+ C0 c                 . N# Z* z, {- ?9 A
           while(1)
4 D3 J( U$ D8 H& q        {& S3 F% y( O+ }! O, W
                delay_ms(500);         2 z- ~9 k- j' z* z* B
                if(dir)led0pwmval++;
' i4 Q# j- X- ?1 S                else led0pwmval--;6 V! Z6 M  @3 g) x' \1 c& o4 @
8 X  u4 c2 k3 c
                if(led0pwmval>300)dir=0;, b, ?& L+ F$ K) `0 g9 e) ?
                if(led0pwmval==0)dir=1;                                                                                   d( J5 L) y; B2 S/ }5 o/ S
                TIM_SetCompare2(TIM1,led0pwmval);                   1 u# t4 E6 \: C& @$ [5 O
        }         
# k0 r* y% l8 U3 r: F        , d/ n' b. y1 c  \4 [9 ?
7 n; ~" @4 e" c: v& y: ^1 z

/ n( v4 I2 k' J0 G! ]) F) G}
/ x7 T: A$ r) D$ P' n! C4 ]9 K0 P- X% {
1 C# L% b( A# }0 P! [1 k. l" e/ Y0 |" p0 G
PMW.C& A( A4 D' R0 m7 `
void PWM_Init(u16 arr,u16 psc)  Q+ R3 ]7 S: f! H$ m7 ]0 M
{7 G0 A- `- O3 [8 E# R
        GPIO_InitTypeDef GPIO_InitStructure;
. J7 B) g" ]# c- G        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;! ]: b- B7 ~" |3 N2 F6 M
        TIM_OCInitTypeDef TIM_OCInitStructure;
4 X. [4 O2 G$ F4 H/ m        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
7 _2 {+ y+ F# K& A        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);
5 z, n5 l# k+ f# @( |4 K        8 x! {7 c" C2 c. p6 R$ p0 n: R
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //TIM2_CH3
. P& B+ t0 @$ {# k* X( `% B& G0 ?        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出. c+ L" B' Z. W) v# \$ p
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;) ^9 B1 G: W; o3 x% A
        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO
# o+ w6 F. D/ ]" p. |        //GPIO_ResetBits(GPIOB,GPIO_Pin_0);//置1) V, S6 y: a3 W% t, l# g
       
) D( U# F& r5 V' d( ?        8 b8 |  c7 y! }
        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射! k6 P1 i( f5 P1 V
       
  \  v, E: N5 x3 m        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms
8 e6 U+ U9 X' a$ y; k        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  " h) q' L- m7 M9 u$ L; f: u
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
, h. ]4 h5 K- x. B5 w: K        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式. K- [2 M) V" ~" Y& r9 E
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位9 v+ c6 `3 U. i3 |* ^5 Y& G
        ! B0 f6 l& o7 ^6 z, \' q
       
, Q# M" {( B% ~. A0 d/ c        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;2 J, a9 t- T6 z; X! A3 K. V" w
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
. W# B2 ^0 Q- Y: h$ U! a        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;0 ]: p/ k5 a  P6 o8 N$ V4 ~: g  }
        TIM_OC2Init(TIM1,&TIM_OCInitStructure);; S8 U- Y  Y/ E& ~
        3 t* y; \3 Q6 E( P
        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);
/ H* i" {$ {4 Q, b        TIM_Cmd(TIM1,ENABLE);
+ w' }2 f) b4 I. [! i3 k
( `* L. K; e( v; F& {$ h$ T! n7 z$ [. L* _' Y* O
}
0 h1 p& o# _8 `+ {. z# q# N) F. @% f
7 S: h( E+ p% B& L

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

QQ截图20221127181202.png

该用户从未签到

2#
发表于 2022-11-28 10:23 | 只看该作者
请教大神帮忙解答。
8 E  |8 o3 f* n9 h- d
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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