搜索
bottom↓
回复: 0

我用三个通用定时器都好使,一加上基本定时器6后都不好....

[复制链接]

出0入0汤圆

发表于 2013-3-28 14:37:14 | 显示全部楼层 |阅读模式
#include "time.h"
#include "led.h"
#include "delay.h"
void TIM2_IRQHandler(void)
{                                                                   
        if(TIM2->SR&0X0001)//溢出中断
        {

                   if(i==1)
                   {
              PWM1=!PWM1;
                    }                                                                                   
        }                                  
        TIM2->SR&=~(1<<0);//清除中断标志位             
}

void Timer2_Init(u16 arr,u16 psc)
{
        RCC->APB1ENR|=1<<0;//TIM2时钟使能   
        TIM2->ARR=arr;  //设定计数器自动重装值//刚好1ms   
        TIM2->PSC=psc;  //预分频器7200,得到10Khz的计数时钟
        //这两个东西要同时设置才可以使用中断
        TIM2->DIER|=1<<0;   //允许更新中断                               
        TIM2->DIER|=1<<6;   //允许触发中断          
        TIM2->CR1|=0x01;    //使能定时器3
          MY_NVIC_Init(1,1,TIM2_IRQChannel,2);//抢占1,子优先级3,组2                                                                         
}



//定时器3中断服务程序         
void TIM3_IRQHandler(void)
{                                                                   
        if(TIM3->SR&0X0001)//溢出中断
        {

                 if(j==1)
                 {
                PWM2=!PWM2;
                  }

                                                                                                               
        }                                  
        TIM3->SR&=~(1<<0);//清除中断标志位             
}
//通用定时器中断初始化
//这里时钟选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
//这里使用的是定时器3!
void Timer3_Init(u16 arr,u16 psc)
{
        RCC->APB1ENR|=1<<1;//TIM3时钟使能   
        TIM3->ARR=arr;  //设定计数器自动重装值//刚好1ms   
        TIM3->PSC=psc;  //预分频器7200,得到10Khz的计数时钟
        //这两个东西要同时设置才可以使用中断
        TIM3->DIER|=1<<0;   //允许更新中断                               
        TIM3->DIER|=1<<6;   //允许触发中断          
        TIM3->CR1|=0x01;    //使能定时器3
          MY_NVIC_Init(0,0,TIM3_IRQChannel,2);//抢占1,子优先级3,组2                                                                         
}
void TIM4_IRQHandler(void)
{                                                                   
        if(TIM4->SR&0X0001)//溢出中断
        {
           if(k==1)
           {
           PWM3=!PWM3;       
            }
                                                                                                               
        }                                  
        TIM4->SR&=~(1<<0);//清除中断标志位             
}

void Timer4_Init(u16 arr,u16 psc)
{
        RCC->APB1ENR|=1<<2;//TIM4时钟使能   
        TIM4->ARR=arr;  //设定计数器自动重装值//刚好1ms   
        TIM4->PSC=psc;  //预分频器7200,得到10Khz的计数时钟
        //这两个东西要同时设置才可以使用中断
        TIM4->DIER|=1<<0;   //允许更新中断                               
        TIM4->DIER|=1<<6;   //允许触发中断          
        TIM4->CR1|=0x01;    //使能定时器3
          MY_NVIC_Init(1,3,TIM4_IRQChannel,2);//抢占1,子优先级3,组2                                                                         
}
void TIM6_IRQHandler(void)
{                                                                   
        if(TIM6->SR&0X0001)//溢出中断
        {
         PWM4=!PWM4;
        led0=!led0;       
                                                                                                               
        }                                  
        TIM6->SR&=~(1<<0);//清除中断标志位             
}

void Timer6_Init(u16 arr,u16 psc)
{     
        RCC->APB1ENR|=1<<4;//TIM4时钟使能   
        TIM6->ARR=arr;  //设定计数器自动重装值//刚好1ms   
        TIM6->PSC=psc;  //预分频器7200,得到10Khz的计数时钟         
        //这两个东西要同时设置才可以使用中断
        TIM6->DIER|=1<<0;   //允许更新中断                               
//        TIM6->DIER|=1<<6;   //允许触发中断          
        TIM6->CR1|=0x01;    //使能定时器3
          MY_NVIC_Init(1,3,TIM6_IRQChannel,2);//抢占1,子优先级3,组2                                                                         
}
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-11 14:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表