pwm波为什么会发三遍

2019-07-21 03:47发布

控制舵机旋转,按程序就转两个角度。但是下进去就好变成转到角度1-转到角度2,重复三遍。这是怎么回事啊,代码如下




[mw_shl_code=c,true]#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"

/************************************************
ALIENTEKÕ½½¢STM32¿a·¢°åêμÑé9
PWMêä3öêμÑé  
¼¼êõÖ§3Ö£owww.openedv.com
ìÔ±|μêÆì£ohttp://eboard.taobao.com
1Øע΢DÅ1«Öúƽì¨Î¢DÅoÅ£o"ÕyμãÔ-×ó"£¬Ãa·Ñ»ñè¡STM32×êáÏ¡£
1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾  
×÷ÕߣoÕyμãÔ-×ó @ALIENTEK
************************************************/

       
int main(void)
{       
  int i=0;         
        u16 led0pwmval=0;
        u8 dir=1;       
        delay_init();                     //Ñóê±oˉêy3õê¼»ˉ          
        SystemInit();
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏ輶£¬2λÏìó|óÅÏ輶
        uart_init(115200);         //′®¿ú3õê¼»ˉÎa115200
        LED_Init();                             //LED¶Ë¿ú3õê¼»ˉ
        KEY_Init();          //°′¼ü3õê¼»ˉ       
        TIM3_PWM_Init(199,7199);         //2»·ÖÆμ¡£PWMÆμÂê=72000000/900=80Khz

         
//         while(1){
//         TIM_SetCompare1(TIM3,35);
//         delay_ms(1500);
         TIM_SetCompare1(TIM3,20);
         delay_ms(1500);
       
         TIM_SetCompare2(TIM3,1);
         delay_ms(1500);
         TIM_SetCompare2(TIM3,30);
         delay_ms(1500);
         i=1;


}



[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。