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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
我用的单片机是:STM32F103C6T6A从网上买的核心板模块,LED灯拉到GPIOB>>>PB1口,下载程序后LED灯不亮,也不呼吸,是什么原因?5 ~3 ?# g  g9 o9 a  @
void PWM_Init(u16 arr,u16 psc)
5 ^, Y8 q( C1 F* W8 u{
" {7 _7 @$ \( ~) X: K. [        GPIO_InitTypeDef GPIO_InitStructure;
) R/ h* k- i  `3 R/ K$ e; P        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
+ \$ o! L' ~% v        TIM_OCInitTypeDef TIM_OCInitStructure;
4 w# \0 s7 ~8 {        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
' O2 k& [! _* z+ e4 r. z3 ?: b        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);# ~/ X7 S3 s6 G$ P, D. m5 c
        5 K+ f+ U0 P. w. c9 R. e* W
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //TIM2_CH3
# T+ C' p3 q3 v1 h6 [        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
8 Q) J% I- i1 c1 T, `% g        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
, x* @* C' ^+ x; Q2 b# y2 M- z        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO
6 J* N2 r/ K& W) z( G! i7 q1 S        , @! z/ |; ]5 G( a# R6 c3 m
          h  X3 b& f% p; E/ K
        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射
+ m2 h* r  E% f  z        - ]& Y* n$ A# f, Z
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms" U' V- P8 x' B/ U. v% ~
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  1 `0 S2 q6 l6 }, F. r/ ~
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim! H( Q( U, w5 r/ S9 G, M* R
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
4 }$ R0 _3 B$ `7 {( U% g        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
9 r2 f; n* a! B; X( T! J       
+ z8 G7 w% l, I+ Y: Q6 o       
; H$ N1 q0 U3 e$ E* M! T! y        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;3 X9 N4 y; r0 S* ?! \# H# N% Z
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
% f) z0 M! X% W# [% C  a0 b        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;; X% q  X5 E; N' h
        TIM_OC2Init(TIM1,&TIM_OCInitStructure);2 [* a' z( d0 Z4 \6 D8 M4 K. D
        % K. Z) T4 {# C
        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);* @6 G8 x( D! g+ x3 X
        TIM_Cmd(TIM1,ENABLE);
/ E$ ?2 c, c  _4 Z* `' q/ ^% \) \# ]; Q- X" C0 ~
9 J% G: r0 r/ X2 s, Q. Z
}
. @# V. D% p4 }6 ~, Q//主函数:
% O1 a) Z# ^3 A, eint main(void)
( _# c# w! v3 ~{
) W. p! h7 y/ i5 i/ E* s        u16 led0pwmval=0;/ s4 p& S8 |& D& J+ `8 X- E2 H$ v# {
        u8 dir=1;        - d: V5 i- T- C1 p
        delay_init();
( b5 w9 X2 `! D! c        PWM_Init(899,0);( x# K. ^0 O+ {- v+ @$ E9 x
                 " \, s: r, Q2 A7 w! T
           while(1). g; n# n- d! Z& H2 i& ]
        {
: d( p9 @# K) t" d+ ~                 delay_ms(10);         
  ^+ {$ D7 q5 o+ d  ~5 B                if(dir)led0pwmval++;
8 D0 U" q# U% g                else led0pwmval--;
# f* e- _0 y3 z- \! @( K
4 R4 Y. a0 ?0 K                 if(led0pwmval>300)dir=0;/ z2 c( Q' W2 X. z
                if(led0pwmval==0)dir=1;                                                                                 
& U" Q9 q) A9 v* n0 |; D1 k  r* X                TIM_SetCompare2(TIM1,led0pwmval);                   " `& y6 x9 b) j$ p, i
        }         
# Q- q6 G  i. {& k        3 i; ~* S- i5 C7 M2 d4 V6 h8 \2 m

. N& K. h% s1 \) N' U& w& |! g% a5 K* X8 A9 a5 }
}
! T6 f0 k' g$ }& @. r( P& {7 ]+ ^  }6 i3 I5 u$ u8 v2 t" s

该用户从未签到

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:280 z; u! Y! B' j6 @$ E& H  v
延时10ms,时间太短了,你可以把时间变成100ms

2 |/ v) w) d. N4 z9 U1 P我换成共阳极LED灯后,可以点亮LED灯,但是不能呼吸,改成delay_ms(100)也是不能呼吸,是什么原因?) ~' C( y/ v' n: y+ h7 [" b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-15 18:52 , Processed in 0.078125 second(s), 24 queries , Gzip On.

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

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

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