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

PWM输出无法点亮LED灯,高手帮忙看看是什么原因?

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
我用的单片机是:STM32F103C6T6A从网上买的核心板模块,LED灯拉到GPIOB>>>PB1口,下载程序后LED灯不亮,也不呼吸,是什么原因?( |1 g$ W9 ]- G
void PWM_Init(u16 arr,u16 psc)6 S4 o7 `. f  K
{
7 p1 B$ X; ?/ ^) [        GPIO_InitTypeDef GPIO_InitStructure;  h7 R4 T" n6 B5 F- O  `
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  [% ^# Y. D9 c' J: c        TIM_OCInitTypeDef TIM_OCInitStructure;& ~5 e4 r0 O$ O& j' ^
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
. p2 [* B- j$ Q+ G5 J/ J        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);
. p0 C) P/ G, c/ J' I& P        / ~( s3 J6 u4 u9 d5 o1 [
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //TIM2_CH3$ J* j8 s! L$ V' C% J
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
9 s2 C0 {" S" b        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;) u: t" G0 s$ A* a$ ?9 M! m3 N
        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO. R, {& I" V3 R7 m( m/ J1 A
        ! ~# n% ^" u% b% Z
       
6 j# m* S: F$ o. @4 V' @; R- p7 k        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射  d* a# c3 X- k0 }
       
- B/ n% ?0 n9 W) s; i' T        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms
7 n2 S/ k  b; K6 A2 j- L5 ]        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
1 }4 t$ F" K8 S8 a. p' k' @# R        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
0 |  S" t: F( T2 P; n% L        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
. M9 w( \8 _" I" J) E6 Y        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位; L& ~5 ~, C: `- i. f
        8 p5 i$ F8 b3 @0 j
       
+ x0 h' ~5 [( [( u4 P: K" X        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;: {2 h2 [5 [' h. Z2 ~+ ]
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;; R+ u: d- f6 ?0 y% [' k
        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;# F$ U: C7 E3 K) E" q
        TIM_OC2Init(TIM1,&TIM_OCInitStructure);
" R7 t* v( E) m! k# b8 Q% ?3 x# |       
. y" o8 ~5 p% S9 }- e        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);
8 v) u8 J3 _4 a' w5 m- Z3 y# _        TIM_Cmd(TIM1,ENABLE);& j* n' A1 A& A7 t/ _

* O" U. d8 c% Z0 ~! f8 ]
+ `$ {# l2 ^: ~* c}/ G6 U/ [, H) Q7 M5 r7 a. I
//主函数:
' X9 _% y$ U, z+ O: uint main(void)
' T1 V' h6 B% F8 P9 C) {{6 A- G% g% |0 _/ ~; U7 F# Z, {
        u16 led0pwmval=0;
! |( C: q+ t5 d6 j        u8 dir=1;       
; K. ?1 z( h3 r        delay_init();
' a, W% Q: u1 z5 t( H% w        PWM_Init(899,0);
1 b4 L9 g' M0 U5 v8 o' _                 
. H& b" Q% U7 [( ]) o7 L, }           while(1)# J* H3 J& f: @+ f
        {
9 W) a/ {4 I0 L; r% x4 @" i" |                 delay_ms(10);         1 L, c6 w$ F, R. U* ^
                if(dir)led0pwmval++;1 B  ^7 A. l) J, e3 f1 h: ^/ [; k" ^
                else led0pwmval--;
. W2 w  a, D! t, L  T5 O- P
) O% V" Q4 q6 E/ D( w2 T                 if(led0pwmval>300)dir=0;
" _) n  }$ G7 F: M* }+ S: T2 s6 J                if(led0pwmval==0)dir=1;                                                                                 
5 {& X9 O' @; _                TIM_SetCompare2(TIM1,led0pwmval);                   " \" L! B# i$ \6 |2 {
        }         
5 j* p8 L3 e7 c6 R* w        ; z" s8 ?# e9 o
7 ^& }: @; `5 a- ]( X
" F8 }; Z2 d  p8 b
}7 w8 |% x* w: i, A( [1 s) T/ P

- y* {9 Q* \' [/ k* o

该用户从未签到

3#
发表于 2022-11-16 15:28 | 只看该作者
延时10ms,时间太短了,你可以把时间变成100ms

点评

我换成共阳极LED灯后,可以点亮LED灯,但是不能呼吸,改成delay_ms(100)也是不能呼吸,是什么原因?  详情 回复 发表于 2022-11-20 11:11

该用户从未签到

4#
 楼主| 发表于 2022-11-20 11:11 | 只看该作者
SSWASD 发表于 2022-11-16 15:28. [- x8 Q: \; G1 F$ u+ f, S
延时10ms,时间太短了,你可以把时间变成100ms

$ P0 T7 p" l6 B) j我换成共阳极LED灯后,可以点亮LED灯,但是不能呼吸,改成delay_ms(100)也是不能呼吸,是什么原因?
, {, Z& i4 J5 }" u: Q) R7 _" l
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-8 11:48 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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