我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 656|回复: 0

STM32F103 定时中断

[复制链接]

该用户从未签到

34

主题

12

回帖

0

积分

二级逆天

积分
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                                    
}
回复

使用道具 举报

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

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表