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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
我用的单片机是:STM32F103C6T6A从网上买的核心板模块,LED灯拉到GPIOB>>>PB1口,下载程序后LED灯不亮,也不呼吸,是什么原因?
' M  {# o' M2 g: Mvoid PWM_Init(u16 arr,u16 psc)' f/ @9 m) W; j8 w/ M% z: x
{
+ a8 }2 [6 x1 g7 O        GPIO_InitTypeDef GPIO_InitStructure;
0 v  W5 r1 v2 e5 w$ r        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;3 d4 Z  z5 A* Z0 t( h+ W
        TIM_OCInitTypeDef TIM_OCInitStructure;
# H/ S- o, L* K; a, _5 U        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);- V/ p, P  |) L6 a- D5 I2 G- v
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);
9 v# a# \8 C5 O3 Y, ]- M1 u        # q$ {% t4 {$ l: x
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //TIM2_CH3
& N6 T7 g9 e# y6 w2 l        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
2 F, k! X% {4 g% _, W        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;2 J3 R/ W2 c" e
        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO3 p4 e1 J% ?+ J8 ~( V3 f
        ' C, z* J$ y' L- q0 A  F& y
       
+ b6 p' {3 a1 z- g9 J. f        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射
+ H8 i0 w" f7 I9 w5 h        2 e* K) u# I* `* Q) D) K
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms$ d7 _, m5 Q) p6 S. s
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  . ]4 q- e% R0 M$ y/ a+ n4 G
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim' W1 P/ n+ E8 s) O6 `) m
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式: ^9 Z0 y: _1 }7 ^
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位2 R' c3 h; S5 C2 @
        % w+ @' l; \( J# S
        % i0 G7 g; `+ D/ m6 T
        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;$ Z6 o9 g/ v% H) a; T
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
! z, x/ }! D1 t        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
% B$ B! ^2 \8 o6 D+ U- G% Y/ K        TIM_OC2Init(TIM1,&TIM_OCInitStructure);
2 [1 |! B0 c& D0 j4 _+ h( B' c        & Q% |8 B+ p, c; ^% H, O
        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);- F- z. k+ l. t& r4 a
        TIM_Cmd(TIM1,ENABLE);; c6 w& p: U8 D. k: x$ I5 f

8 W. i7 W( H* @* y% b. i! H: H1 D! `3 e5 L" E
}) M6 C& h0 N1 b& Y9 ]
//主函数:! U' p/ ~. W4 h1 W- b
int main(void)
" [  Q9 S0 H! X3 c{# D" t4 ^( n  D  k
        u16 led0pwmval=0;" j3 Y/ o/ Y. |) ^" x! Q
        u8 dir=1;        1 _1 V' y% q. G' D5 v% }( i* n
        delay_init();
4 D$ I' W5 {0 e- ?; K7 [( Y        PWM_Init(899,0);
/ f% D) ^7 w( j) u: \) r/ p                 
! @% [/ K, Q+ n1 T           while(1)
3 R; {1 Z% I0 Y% l+ _        {1 j5 N% L( `' N7 b3 I' ?
                delay_ms(10);         3 S/ r! R: t! I+ b
                if(dir)led0pwmval++;
8 `; h& D% t  e) D. P  M                else led0pwmval--;: `* m8 Y4 ]6 J& C
9 k* [3 v; h: `* f
                if(led0pwmval>300)dir=0;& e* J  R: q! b* d; f2 G+ Q3 O
                if(led0pwmval==0)dir=1;                                                                                 
& g; O2 C+ W6 C3 i9 B# G                TIM_SetCompare2(TIM1,led0pwmval);                  
, w" H( ~8 R2 F1 [; K, k$ |        }         7 X$ V9 L% }- J
       
0 B% ^* O" o) h" z) h4 d" Z  U. t, b) K
2 Y) M! T4 I7 V5 Y
}
$ `. u( G# {- }3 Q% g3 m1 y+ V# E* l% }6 L  F

该用户从未签到

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:285 O1 h! l1 s  c6 n3 m/ j
延时10ms,时间太短了,你可以把时间变成100ms

! ~) a) Y9 P/ z  ?# E! M我换成共阳极LED灯后,可以点亮LED灯,但是不能呼吸,改成delay_ms(100)也是不能呼吸,是什么原因?
1 {& a$ t& |' L' }6 S( }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-8 17:06 , Processed in 0.125000 second(s), 27 queries , Gzip On.

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

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

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