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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
配置好,灯亮了,没有变化,是常亮状态,高手帮忙指点一下,多谢。单片机:STM32F103C8T6,系统时钟我选用48Mhz,不知道对不对?" U5 j" j, ~$ E! \3 n; B8 _# k

6 f3 y- i7 }0 F9 F. I0 }
' a# s+ p9 f+ [0 r主函数:! O5 Z7 ]! Y2 m1 x% y4 q- Q
int main(void)
, \! F: y! `1 I7 ?- N2 R1 \1 e* s; l$ O{
, ^+ y8 U" h5 D' G        u16 led0pwmval=0;( @0 V5 ?& U9 n, H( O
        u8 dir=1;        . B0 G; \5 f# J" c/ D. Z
        delay_init();3 D7 ]5 {2 h4 F7 G; x3 z. ?( O9 D
        PWM_Init(599,0);//不分频。PWM频率=48000000/600=80Khz1 R2 s8 Q0 O! Y' S/ v( `
                 
) j7 F4 @0 k, f* j& @" L           while(1)$ C# L8 b0 ?4 F4 O$ f
        {
/ W$ T5 P2 ^; A7 b                 delay_ms(500);         
' B4 `( O" }4 y3 V' {, Z                if(dir)led0pwmval++;" T2 R- t* c! }- i. l3 ~: b6 ~2 I
                else led0pwmval--;5 g; S/ i* J4 ^1 p/ J5 @

0 i  R3 A6 _( ?4 k6 z! F% Q                 if(led0pwmval>300)dir=0;4 C& z* H/ m' D! V$ p
                if(led0pwmval==0)dir=1;                                                                                 
4 @! x( O7 Y: P# P                TIM_SetCompare2(TIM1,led0pwmval);                  
! ^8 Y5 T" @9 d% F0 g        }         
; T. U6 v- X% E! a        $ X$ r% v+ H6 C$ }+ B/ s

4 D! Z* K# O: ~  d8 u
' ~) z0 ^4 O' ?8 B}3 x- i3 o- t! h0 C+ ^

. @# F- H" _& r* e' N* F$ o5 |' C* |: o: y" e2 ~" x: [
PMW.C
1 \" @9 Q% T, \: l2 i9 l! |void PWM_Init(u16 arr,u16 psc)
! z; U# u" ~/ t- M{2 e8 e2 y1 c5 @" q
        GPIO_InitTypeDef GPIO_InitStructure;, F5 Q- K: {8 L
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
; k$ Z8 K  g: B5 T6 a, y) o4 |        TIM_OCInitTypeDef TIM_OCInitStructure;( F3 z- G  A& _7 `9 U
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);3 F( c! K/ l' F3 x/ m5 e
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);$ Q2 ?3 z4 R& w! g
        " @, `  P3 _+ L7 n: F6 p0 D9 T5 S8 D
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //TIM2_CH3- H7 n2 l0 @: [) B" e" W
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
) z% Y/ i+ ^  Y! n( K8 B# i        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
8 s' w6 d0 J( |2 S- t/ X        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO
8 g+ W) E" F5 d* Z        //GPIO_ResetBits(GPIOB,GPIO_Pin_0);//置1
! A  J* h1 b8 g7 M$ q        # N) p2 @1 |; A) M. l  Y
        $ K0 q* N6 B! X8 `3 t+ O$ x
        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射5 ~8 X6 n4 o% w  g
        $ D0 I' E) A4 g0 d# {" B$ N
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms
- |- P0 j: v: f' u& Z$ ~1 i        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
/ [* {7 M; y: @5 g/ \        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
5 h' }# k* _0 o9 x3 \        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
( V  K4 u9 I/ Z# g1 Z' b        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位) L+ `" Z( s+ O1 N
        * V% P3 y  V3 p' I6 ]9 A/ b5 Y, \. d
        + U. T% K+ d6 V/ O9 C' i" |
        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;* d3 \! X1 R1 S; ?
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
  o; Z7 B$ W; y        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;- r: N8 l& \2 l
        TIM_OC2Init(TIM1,&TIM_OCInitStructure);8 n# ~1 Z9 \; g. L8 K" {
       
  R/ D1 k8 S$ p8 j' E, e, V        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);
3 k$ x2 \7 v% e3 w" J% l9 a        TIM_Cmd(TIM1,ENABLE);
: V. p' d2 G) ]/ x2 U( F  o% a  A6 G1 S- F" q$ a
& {) s- `: g: U6 M$ P
}+ V# R  _# Y* Q9 G. b' h. e

3 L* Y4 w' H$ Z: ]2 b8 t
% A' m. w8 A- N* ^3 [4 ^% I  A. e0 r

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

QQ截图20221127181202.png

该用户从未签到

2#
发表于 2022-11-28 10:23 | 只看该作者
请教大神帮忙解答。/ s) z" Z, I) `: g; R& k7 c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-9 10:44 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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