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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
我用的单片机是:STM32F103C6T6A从网上买的核心板模块,LED灯拉到GPIOB>>>PB1口,下载程序后LED灯不亮,也不呼吸,是什么原因?
$ f- N3 ?. s$ @6 E& Zvoid PWM_Init(u16 arr,u16 psc). m1 G3 T3 [- r* ]  p% D% P
{" Z) I) Y2 r3 h: F
        GPIO_InitTypeDef GPIO_InitStructure;
* [6 ?. c1 u3 M, e9 t        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;$ R$ x, t% y% z- a2 j* G! g* K7 d
        TIM_OCInitTypeDef TIM_OCInitStructure;( w( w7 B  z8 E2 Q
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);0 ~! v, o1 t3 h/ K
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO, ENABLE);( k8 S- H! s8 K' e, i" {
       
! O) [7 B4 ~7 }; C        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //TIM2_CH3
" L' c  V; v) }0 G" A9 U        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
8 D% G! n9 J: {. ?        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;, @8 M' D. a5 v* z
        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO7 ]- @" `9 f5 y/ J/ B2 R9 B3 i3 q
       
( s  M* f6 T: q% Y+ P5 P       
2 H; D: U2 D) n% c        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM1部分重映射
, Q! o6 t+ L. M/ J+ {5 W  Q        9 o7 @: G2 w6 I! H7 F. X) P7 R
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         计数到5000为500ms6 {+ t; z1 C3 \2 P! h; Q8 S
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
2 `  E1 [" z2 ]2 P8 f        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
6 Z  ^! B- B' f& P) V        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
+ O+ x' s) X9 [0 C        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
9 L# a0 G" B$ P8 N3 S* x! l       
2 N, ]/ \+ k' s. Q        ( R/ b' |- E( O) z0 F
        TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
5 @1 A# c- Q# e( \% s        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
2 H3 {9 E5 ^0 l, S        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;; s2 \. R' g% J6 k
        TIM_OC2Init(TIM1,&TIM_OCInitStructure);  u: }% |% L! H0 P6 p+ @0 F
        ( m4 a% l3 U5 N- `" D+ w8 b, s$ f
        TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);
1 Y3 o' J: M! Z0 |9 M0 w6 X+ J        TIM_Cmd(TIM1,ENABLE);
$ @& F+ ~) k6 t  X
. @& f5 X& @4 b6 M. J
) i% q0 F) I9 {/ O& {}2 Y, k% v9 d& E( U! _# @; d
//主函数:
7 e* g' ]. Z  H" ?' qint main(void)
7 ]$ k3 ^# C: O# m1 z{, j7 D  x) y& b" |. p
        u16 led0pwmval=0;( k4 M; N* ^0 g9 @) O
        u8 dir=1;       
% ^6 m2 Y% U& M8 P/ X        delay_init();# {: W5 e0 ~, x7 Q1 k0 c- A
        PWM_Init(899,0);
- g) T2 ]5 U+ c  i6 w                 
! X) Z% C* _( }- T, s4 Q1 C4 m           while(1)
; k5 b! k. m) C. o7 e# a        {
  e* h" M9 ^; h7 S7 p                 delay_ms(10);         2 F5 V0 Z% T& p; u+ L
                if(dir)led0pwmval++;# S* e+ N, {, I- I, L- Z; y
                else led0pwmval--;
- }) P) z! \8 p6 d9 _
. s/ r8 e- D5 K* L6 G                 if(led0pwmval>300)dir=0;
* x  c/ |# s7 t) g  R                if(led0pwmval==0)dir=1;                                                                                 
0 A9 @! L# c, L# |" _1 T0 S& v' l                TIM_SetCompare2(TIM1,led0pwmval);                  
$ e  f: Q4 m! Q) {$ [  H        }         
+ e9 s+ i" X+ B2 r5 F          ]- L$ A  \8 a! `2 |$ ^% k6 I
# s+ w8 y* O9 z- z, u& m8 s4 ^
$ l% Y+ m# W' ^
}7 a8 k$ y+ d% y" d' O  |+ A. ?
+ K0 P1 t6 m* J, [$ X3 q

该用户从未签到

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! U4 E0 q( U& H$ S% m
延时10ms,时间太短了,你可以把时间变成100ms
8 c. X/ l) |5 `* s$ D
我换成共阳极LED灯后,可以点亮LED灯,但是不能呼吸,改成delay_ms(100)也是不能呼吸,是什么原因?
5 R: @+ V' {2 A! @
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-23 19:27 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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