Advertisement

ST32定时器中断干扰主程序PWM信号[附解决方案]

阅读量:

我利用TIMER1模块生成四路PWM信号以实现对电机的控制,同时借助TIMER2模块设置10ms的定时中断,用于执行OLED菜单的相关操作。
程序代码如下:

复制代码
    int main(void)
    {
    delay_init();	    	 //延时函数初始化
    //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
    //uart_init(115200);	 //串口与TIMER1撞车
    	TIM1_PWM_Init(7199,0);		//越大越快
    	Motor_BIG(0,0);
    	Motor_Tiny(0);
    	TIM2_Int_Init(99,7199);
    	TIM3_PWM_Init(7199,0);
    //	Motor_Step(0,0);
    	LED_Init();		  	 //初始化与LED连接的硬件接口
    EXTIX_Init();		//外部中断初始化
    KEY_Init();
    	OLED_Init();
    OLED_Clear();
    while(1)
    {
    		TIM_SetCompare3(TIM1,6400);
    	}
    }

全部评论 (0)

还没有任何评论哟~