• 芯片制造中的阻挡层沉积技术介绍
  • 接地搭接电缆布局屏蔽!!!
  • 北美液冷生态解码:超微spuermicro,24年营
  • SK海力士全球首发HBM4-16层堆叠、2.0TB/s
  • 2纳米Nanosheet技术及其以后的选择性层减薄

STM32F103 定时中断

[复制链接]
查看685 | 回复0 | 2020-11-27 08:33:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
#include "timer.h"
#include "led.h"
#include "sys.h"
#include "usart.h"        
#include "delay.h"   
#include "led.h"   
#include "timer.h"


int main(void)
{            
     Stm32_Clock_Init(9); //系统时钟设置
    delay_init(72);         //延时初始化
    uart_init(72,9600);  //串口初始化
    LED_Init();               //初始化与LED连接的硬件接口
    TIM3_Int_Init(5000,7199);//10Khz的计数频率,计数到5000为500ms  
       while(1)
    {
        LED0=!LED0;
        delay_ms(200);           
    }
}

//定时器3中断服务程序     
void TIM3_IRQHandler(void)
{                                       
    if(TIM3->SR&0X0001)//溢出中断
    {
        LED1=!LED1;                                                                    
    }                  
    TIM3->SR&=~(1<<0);//清除中断标志位         
}
//通用定时器中断初始化
//这里时钟选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
//这里使用的是定时器3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
    RCC->APB1ENR|=1<<1;    //TIM3时钟使能   
     TIM3->ARR=arr;      //设定计数器自动重装值
    TIM3-&gtSC=psc;      //预分频器设置
    TIM3->DIER|=1<<0;   //允许更新中断               
    TIM3->CR1|=0x01;    //使能定时器3
      MY_NVIC_Init(1,3,TIM3_IRQn,2);//抢占1,子优先级3,组2                                    
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则