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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
我用的单片机是:STM32F103C6T6A从网上买的核心板模块,LED灯拉到GPIOB>>>PB1口,下载程序后LED灯不亮,也不呼吸,是什么原因?
6 J: [6 O* G$ W7 U0 N# n' ~9 A8 @void PWM_Init(u16 arr,u16 psc)
6 g) x6 Y6 n1 T; U1 j{! L: l0 s1 f8 P2 F$ U' x
        GPIO_InitTypeDef GPIO_InitStructure;
4 H+ r7 j" G" L* z* U" G) Q) B        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
3 z% e6 e( V) U$ Q2 P        TIM_OCInitTypeDef TIM_OCInitStructure;
7 m. Q7 M( Q, ^! K' e2 k7 ?        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
5 V& s) A/ A5 E! g! }8 |        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);5 U7 w8 L$ v5 d  a- G/ K8 Y
        & S; m: {( ?: x% ^# Z& w
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //TIM2_CH3
$ Y) c; i+ }9 y7 l; [        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出' q- }6 J' \0 w; O, m
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;/ }% c% e1 p& }+ s$ r
        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO
$ E8 e4 C% G5 o; \* u( A( J" G       
# u' f5 e+ B) r       
" |6 R( \/ U' Q& u# Y        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射
7 n! \& Q" j4 `2 J# m+ B, t        . S4 d8 j5 K+ r2 U% a8 |5 C8 X
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms- B3 g: N* K: q4 q" u1 p/ G
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
0 m3 m# X; N; t. g- d& q        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim) B8 y: v6 n) b7 ]% b& S% M
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式- v# F2 e) t( [; P8 D8 A" ]; M
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位/ N/ E: Y" l" S. ~# S. i: T
        4 N, E% Y- c; ~" R4 S: c
       
3 B  G8 t& i! m4 I# b        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
5 P9 g: q. F0 N  R8 C1 N        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;: P! {- M5 R  m
        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
2 D* U/ `1 U+ p4 o% R/ t" q        TIM_OC2Init(TIM1,&TIM_OCInitStructure);' Q% r, `" ~0 B  p1 R0 T/ I' D
        7 b! [$ h3 s! W( h; o
        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);+ H% n) [  K& ~
        TIM_Cmd(TIM1,ENABLE);5 D2 A/ f2 ]7 a3 D
& H* U4 f! D7 Q8 t$ m/ n" F

! m9 L% E6 Q6 k/ k: A) }) L}
0 v  R) @' D- T" T" ]//主函数:- v+ S+ F% ^- n7 G9 |: R
int main(void)- z  o% n$ ]% {( N0 F% i, q; G
{5 M8 A2 b& g6 X3 ?6 V4 Z
        u16 led0pwmval=0;
* }, t/ w2 P. L" y* Y" L        u8 dir=1;       
) y( ?1 o4 s. Q( D: y2 \        delay_init();
9 F/ ?1 k- n0 W  O6 f7 @        PWM_Init(899,0);
& |& s9 [, f7 I; n5 W' ~7 D6 L- e                 3 o2 `, L) n8 P5 G) ^" |
           while(1)
4 k/ y5 v" l$ w. c* K" c  r2 d4 E        {
. {1 N# y) D1 j  Q6 z                 delay_ms(10);         
' w& q5 A& i, j2 E) _  d                if(dir)led0pwmval++;& E2 J+ z5 o! ?0 E4 C1 P
                else led0pwmval--;
2 L5 i4 b- Q7 z1 ]5 t5 w
9 I7 r8 P5 d2 O" t1 w9 D8 {                 if(led0pwmval>300)dir=0;
3 m8 S8 y$ g1 @  d                if(led0pwmval==0)dir=1;                                                                                 
7 W8 J  s0 E4 q, i# E+ G) \3 _6 C% s                TIM_SetCompare2(TIM1,led0pwmval);                  
  n# m  q8 \! o  s        }         
5 c& n4 P. s* |% `. b        $ i' L4 L6 c4 b
% E$ b* l0 h. [& ]9 t* y
/ G. ]( v0 v4 M. h& e
}
9 i3 D% S5 e; Y( E: o& i: w6 A0 Q( X2 W: L

该用户从未签到

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
  x; W  L0 n: T( E0 ?- s; q2 t延时10ms,时间太短了,你可以把时间变成100ms
' z/ v* d* a* L: M2 [
我换成共阳极LED灯后,可以点亮LED灯,但是不能呼吸,改成delay_ms(100)也是不能呼吸,是什么原因?
) B( K4 X' t4 v  Y0 F5 T
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-11 00:49 , Processed in 0.078125 second(s), 24 queries , Gzip On.

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

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

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