新手入门 
 
	- 积分
 - 15
 
        - 金钱
 - 15 
 
       - 注册时间
 - 2017-8-9
 
      - 在线时间
 - 2 小时
 
 
 
 | 
 
2金钱 
 void TIM3_PWM_Init(u16 arr,u16 psc) 
 { 
    GPIO_InitTypeDef GPIO_InitStructure; 
      
    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitSture; 
    TIM_OCInitTypeDef TIM_OCInitTypeSture; 
      
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);  
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);   
    GPIO_PinRemapConfig(GPIO_FullRemap_TIM3,ENABLE); 
      
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//¸´ÓÃÍÆÍì 
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;//TIM3_CH3 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
    GPIO_Init(GPIOC,&GPIO_InitStructure); 
   
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); 
     
    TIM_TimeBaseInitSture.TIM_Period = arr;                         
    TIM_TimeBaseInitSture.TIM_Prescaler = psc;   
    TIM_TimeBaseInitSture.TIM_CounterMode = TIM_CounterMode_Up;       
    TIM_TimeBaseInitSture.TIM_ClockDivision = 0; 
    TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitSture); 
     
    TIM_OCInitTypeSture.TIM_OCMode = TIM_OCMode_PWM2; 
    TIM_OCInitTypeSture.TIM_Pulse = 0;  
    TIM_OCInitTypeSture.TIM_OCPolarity = TIM_OCPolarity_High; 
    TIM_OCInitTypeSture.TIM_OutputState = TIM_OutputState_Enable; 
    TIM_OC3Init(TIM3,&TIM_OCInitTypeSture); 
     
    TIM_CtrlPWMOutputs(TIM3,ENABLE);   
    TIM_OC3PreloadConfig(TIM3,TIM_OCPreload_Enable);   
    TIM_ARRPreloadConfig(TIM3, ENABLE);  
     
    TIM_Cmd(TIM3,ENABLE); 
 }  
主程序: 
main 
{ 
    delay_init(); 
    TIM3_PWM_Init(899,0); 
    while(1) 
   { 
    TIM3_PWM_Init(300,240); //1000hz 
    TIM_SetCompare1(TIM3,150);// 
    delay_ms(500); 
 
   } 
} 
 
 |   
 
 
最佳答案
查看完整内容[请看2#楼] 
TIM_SetCompare1(TIM3,150);//    错了  改成TIM_SetCompare3(TIM3,150);//              因为你这里用的TIM_OC3Init(TIM3,&TIM_OCInitTypeSture);         表示通道3   故下面也用3 
 
 
 
 
 
 
 |