labi41 发表于 2013-10-23 12:25:19

STM32L151CB 在PB0上输出一个占空比1:1的50KHz的PWM

问题如题。 程序如下,现在测量PB0上是一个高电平信号。根据官方的例程《PWM_Output》修改。
void PWM_Init(void)
{
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_OCInitTypeDef  TIM_OCInitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;       
       
        uint16_t PrescalerValue = 0;
       
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
 
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
 
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource0, GPIO_AF_TIM3);
 
 
  PrescalerValue = (uint16_t) (SystemCoreClock / 8000000) - 1;
  TIM_TimeBaseStructure.TIM_Period = 159;
  TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
 
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
 
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = 80;
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  TIM_OC1Init(TIM3, &TIM_OCInitStructure);
  TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);
 
  TIM_ARRPreloadConfig(TIM3, ENABLE);
 
  TIM_Cmd(TIM3, ENABLE);       
}

labi41 发表于 2013-10-24 13:03:25

RE:STM32L151CB 在PB0上输出一个占空比1:1的50KHz的PWM

怎么没有人回复呢?我都郁闷好几天了。

Hiker 发表于 2013-10-24 16:32:07

RE:STM32L151CB 在PB0上输出一个占空比1:1的50KHz的PWM

最后怎么没有 PWM输出使能~
TIM_CtrlPWMOutputs(TIM3, ENABLE);

labi41 发表于 2013-10-26 10:33:45

回复:STM32L151CB 在PB0上输出一个占空比1:1的50KHz的PWM

回复第 3 楼 于2013-10-24 16:32:07发表:
最后怎么没有 PWM输出使能~
TIM_CtrlPWMOutputs(TIM3, ENABLE);
 
 
我用的这个库函数里面没有这个函数。
 

发表于 2013-10-29 12:52:06

RE:STM32L151CB 在PB0上输出一个占空比1:1的50KHz的PWM

算下那几个数字,预分频,分频,占空比。
页: [1]
查看完整版本: STM32L151CB 在PB0上输出一个占空比1:1的50KHz的PWM