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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
配置好,灯亮了,没有变化,是常亮状态,高手帮忙指点一下,多谢。单片机:STM32F103C8T6,系统时钟我选用48Mhz,不知道对不对?
7 @5 b/ T2 M7 G& e/ s4 t3 h7 a3 d- `9 T* m: n

# O8 C; M3 L; w* M9 I主函数:
& I: d% t, ?' I6 ?int main(void)  @; b! a' i8 O) a
{4 s6 k0 q, R, D2 \5 u
        u16 led0pwmval=0;
7 x& s& e( b& z& a/ j& v        u8 dir=1;        . t; u6 I1 j1 l' y6 U) o9 J  Q2 a$ _4 t
        delay_init();% a+ K$ I8 m  F& s$ Z! o: |1 o
        PWM_Init(599,0);//不分频。PWM频率=48000000/600=80Khz
* L, _1 J" L8 K+ L5 Y8 {                 * ]& S4 [+ [( J. ^$ `
           while(1)
6 \  r4 c4 O, f3 C        {
+ f$ }1 d% r% d5 k) D                 delay_ms(500);         % ]9 m' n- P2 r, `! s! t
                if(dir)led0pwmval++;
; k, L$ U" o- {( _" n+ ?                else led0pwmval--;
. w0 [$ S( W% D
2 R, e7 l7 Q5 ?, ~* R; {+ j                 if(led0pwmval>300)dir=0;$ c! F1 p9 [: V) k+ B% r
                if(led0pwmval==0)dir=1;                                                                                 
& Q9 X8 o, d+ A$ C8 m                TIM_SetCompare2(TIM1,led0pwmval);                   1 F( n" V" u% Z7 I, J" k
        }         4 c6 B. d/ O6 a. b: b
        # c! q# y/ a) X2 V
& v3 s! ^  ^" d  h+ u4 l
  h8 E8 q2 Z; P1 m
}
6 O! G% r  E$ B! O& l# V& ]# X  y& ~4 M) i

& h5 |' @6 J0 k, e/ y  V8 }1 HPMW.C5 ?  [, Y- `4 H0 _
void PWM_Init(u16 arr,u16 psc)
$ Y: G7 u0 N: U{6 ~3 F) d- a6 {( f  E5 P
        GPIO_InitTypeDef GPIO_InitStructure;9 J, e5 J: y$ {6 f0 f( ~
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;6 n+ L4 J$ L# W* W9 c  O$ C
        TIM_OCInitTypeDef TIM_OCInitStructure;3 J: I3 }6 ?1 E; Q4 y$ ~
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);% ~1 _; x+ j9 K
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);+ T! v; [6 z* n2 B' ]! m% J7 U* a
       
; d3 Z1 X! l! z0 d6 _/ J" o1 |        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //TIM2_CH36 x0 C9 P) [# j5 {0 d
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出* _& T/ c8 O" F" z
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
9 K- ~& c2 M* V: H        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO, H& h! {0 I' \1 V+ M
        //GPIO_ResetBits(GPIOB,GPIO_Pin_0);//置11 g. D( Z. _8 k$ b/ Y
        & n% \3 K6 @7 K9 E3 k" Z
        - f, R% F3 }1 d: d! d
        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射
# \: ^( O" s1 \. u        ( C5 \( n1 N1 e1 V7 R
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms! Y9 @  q6 q& t8 z9 ~7 N8 ~4 r
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
0 l# V4 ^% N# o) c) X        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
' \: h) N) t% X        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
! h+ }0 _: I- k        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位  J0 f$ J; @- ~% U$ K3 e
        4 g, v: e( s& Y' x- D4 e0 t
        * D& {" E" \. N8 p1 f
        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
& }& Q3 r$ ?8 L  B) h: K: |        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;" R$ D) Y& }: P7 ]' f  {6 _0 p8 G
        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;) m: e$ y- O0 J- g
        TIM_OC2Init(TIM1,&TIM_OCInitStructure);
6 n' W2 u% r; {8 b3 V; @* I       
4 z: b- F. t5 }) R6 I3 E        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);! k, r' l) E% P+ ?0 u
        TIM_Cmd(TIM1,ENABLE);( a! y2 ?$ }; A" k: M
6 k3 o% K- A. i8 u3 h, d* }& A! L

1 m7 T& y* ^$ v) c6 v: U}
9 L7 m. h6 {  p: x% F- W. F6 q
) a0 q1 l: f4 Y6 \: p
" E6 p: G4 Q: d% I2 x

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

QQ截图20221127181202.png

该用户从未签到

2#
发表于 2022-11-28 10:23 | 只看该作者
请教大神帮忙解答。' O) h. h4 ?& l+ @$ @3 k* }5 z9 v
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-5-31 15:16 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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