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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
我用的单片机是:STM32F103C6T6A从网上买的核心板模块,LED灯拉到GPIOB>>>PB1口,下载程序后LED灯不亮,也不呼吸,是什么原因?% f8 e6 N! J, t* K2 T
void PWM_Init(u16 arr,u16 psc)1 Q( e1 L; j# Y. p  B# |0 v
{
6 }) g/ h9 d- W- P4 z4 v1 W        GPIO_InitTypeDef GPIO_InitStructure;0 p  }, p" g5 \9 a
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;+ P2 j) T" `* c& n8 L  g
        TIM_OCInitTypeDef TIM_OCInitStructure;  U8 X" A; o8 X, @  B6 K: l$ h
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
  L+ q! w# Z( @% h  h$ K: N2 D        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);
% B: s7 X; W& n) {        # {: ^% o- M! w3 S1 U
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //TIM2_CH34 Q, x8 z1 J4 l$ n
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出# p2 q& Z/ ^- ~
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
" I3 A* t5 ^  {6 h* Y: n        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO
( }9 V3 t( t9 b% y& v3 d; H7 {       
) }5 f% u$ ^) A3 t$ ^       
. {3 ]% p; y# S& ^5 a: e7 d$ P        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射4 ~* o8 h' S3 u" ?" O  {
        : o+ v2 y+ l( W- \
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms/ D* A2 P# F, |1 ?' n
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
: r' f) ?/ G  i1 U9 v) W        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
: U1 d/ O1 {) d. a/ v# F, C8 g        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式& ~( @2 n' b0 G
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位: Z* [# K5 G) B! G) c6 ^
       
7 O$ a) M5 {/ }8 {        ; |  D+ ]1 y8 \
        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
( g+ f7 E' u6 A; j  e; D$ M        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
5 p+ ~3 l2 o* r/ {        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;: b' |+ c0 l3 E% B6 X, x0 O% g: r
        TIM_OC2Init(TIM1,&TIM_OCInitStructure);% q# ~2 Z% K: T( }8 r6 G
       
' k" i7 ^9 |; e# m. L$ ?! o6 `& R! Q        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);; P& Y' p- a$ Y. v! ]
        TIM_Cmd(TIM1,ENABLE);
, M) S% v/ ~+ B; h, x/ U" w' x6 t7 t! r0 p# d
7 a+ Q! z+ F1 |& a3 U
}" `% ]' e& y2 v
//主函数:
4 b4 [* a5 l; x6 Z" H; lint main(void)
6 N( H# ?5 T0 i, P) B{
+ X7 G  A' v# f, U* n        u16 led0pwmval=0;+ S; b7 X6 V' I
        u8 dir=1;       
; J8 ^+ h9 I  i1 g        delay_init();$ h0 i- b3 h+ o% N( w# a
        PWM_Init(899,0);
9 R/ f- X. X! A7 j: ?. k1 B                 ' z" N& v; m5 C* C, T
           while(1)6 n6 q" `. W' n( d
        {, U. @# R7 x* I
                delay_ms(10);         , K( k* ?: b) \. B$ e$ u& s  Y# v, a
                if(dir)led0pwmval++;6 s/ L6 e6 O& C% U# x( F0 c
                else led0pwmval--;
) E. D! d* J$ j2 A+ F6 y  K0 Z0 ^5 ]) @/ z( I
                if(led0pwmval>300)dir=0;+ g* k, H( y  n, d* I% E
                if(led0pwmval==0)dir=1;                                                                                 ' l) F! q+ J9 Y5 G' N+ n
                TIM_SetCompare2(TIM1,led0pwmval);                  
4 T% V9 b) p" O        }         ! l1 |/ Y/ A# k) T$ j. l0 M
        $ i; O) \3 I" U

6 a1 m0 p( ?2 P* S. [: X' J* ^8 {$ _- i: N5 O: @" h8 O
}+ v( u* T4 m5 z
) ]2 D+ q, ?4 g# ^! b" ~

该用户从未签到

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- S& I( l7 Y. w
延时10ms,时间太短了,你可以把时间变成100ms
; B! L5 I( {/ M1 Q
我换成共阳极LED灯后,可以点亮LED灯,但是不能呼吸,改成delay_ms(100)也是不能呼吸,是什么原因?0 l2 B$ W9 d. s* m3 }. {
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-29 23:01 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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