Altium-381237 发表于 2017-3-3 20:22:53

STM8L152M8 单片机 怎么输出不了PWM

static void TIM5_Config(void)
{
   /* Enable TIM5 clock */
   CLK_PeripheralClockConfig(CLK_Peripheral_TIM5, ENABLE);

   /* TIM5 Channel1 configuration: PI3 */
   GPIO_Init(GPIOI, GPIO_Pin_3, GPIO_Mode_Out_PP_High_Slow);
   /*
   - TIM1CLK = 2 MHz
- TIM1 counter clock = TIM1CLK / TIM1_PRESCALER+1 = 2 MHz/1+1 = 1 MHz
   */
   /* Time base configuration */
   TIM5_TimeBaseInit(TIM5_Prescaler_1, TIM5_CounterMode_Up, 65535);
   TIM5_OC1Init(TIM5_OCMode_PWM1, TIM5_OutputState_Enable, CCR1_Val, TIM5_OCPolarity_High,
                TIM5_OCIdleState_Set);
   TIM5_OC1PreloadConfig(ENABLE);
   TIM5_ARRPreloadConfig(ENABLE);
   TIM5_CtrlPWMOutputs(ENABLE);
   TIM5_Cmd(ENABLE);}

问题出在哪里呢?


hjl2832 发表于 2017-3-31 09:55:55

GPIO要输出PWM,一定要设为AF功能,我看你的是设的PP。这是普通GPIO输出模式。并没切换到内部的PWM输出通道。

无薪税绵 发表于 2017-3-31 12:12:30

楼上说的对,要开复用功能。

toofree 发表于 2017-3-31 13:36:46

沙发说得对,板凳也对,地板觉得楼上两位都对。
无非是时钟,IO,工作模式

cldym 发表于 2017-3-31 18:29:57

楼上说的对,要开复用功能。
页: [1]
查看完整版本: STM8L152M8 单片机 怎么输出不了PWM