|
试着用单片机发出50hz的pwm信号,3。04-3.14为高电平,从1000的value开始逐渐增加到1100,但是除了从红灯编程绿灯之外,电机就是不转,程序是抄的论坛里的,稍稍改了下prescaler和ARR的值。
- void DelayNmS(unsigned int i)
- {
- for(;i>0;i--)
- {
- DelayNuS(1000);
- }
- }
- void Pwm_Adjustment_Control(void){
- if(FLG == 1)
- {
- CCR1_Val++;
- TIM_OCInitStructure.TIM_Pulse = CCR1_Val;
- TIM_OC2Init(TIM3, &TIM_OCInitStructure);
- TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);
- DelayNuS(5000);
- if(CCR1_Val==1150)
- {
- FLG = 0;
- GPIO_ResetBits(GPIOD,GPIO_Pin_13);
- }
- }
- if(FLG == 0)
- {
- CCR1_Val--;
- TIM_OCInitStructure.TIM_Pulse = CCR1_Val;
- TIM_OC2Init(TIM3, &TIM_OCInitStructure);
- TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);
- DelayNuS(5000);
- if(CCR1_Val==1000)
- {
- FLG =1;
- GPIO_SetBits(GPIOD,GPIO_Pin_13);
- }
- }
- }
复制代码 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|