高级定时器 tim1 tim8 一般中断配置,以防以后忘记

2023-11-15

void Timer8_Init(void)  
{  
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;  
  NVIC_InitTypeDef NVIC_InitStructure;  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8, ENABLE); //时钟使能  
  TIM_TimeBaseStructure.TIM_Period = (10-1);    //设置自动重装载寄存器周期值  
  TIM_TimeBaseStructure.TIM_Prescaler =(72-1);   //设置预分频值  
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;   //设置时钟分割  
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式  
  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;//重复计数设置  
  TIM_TimeBaseInit(TIM8, &TIM_TimeBaseStructure); //参数初始化  
  TIM_ClearFlag(TIM8, TIM_FLAG_Update);//清中断标志位  
  TIM_ITConfig(TIM8,TIM_IT_Update, ENABLE);  //|TIM_IT_Trigger
  NVIC_InitStructure.NVIC_IRQChannel = TIM8_UP_IRQn;    
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//先占优先级0级  
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;       //从优先级0级  
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  
  NVIC_Init(&NVIC_InitStructure);   
  TIM_Cmd(TIM8, ENABLE);  //使能TIMx外设  
}  

void TIM8_UP_IRQHandler(void)   
{    
   // OSIntEnter();    
    if (TIM_GetITStatus(TIM8, TIM_IT_Update) != RESET)
    {  
         TIM_ClearITPendingBit(TIM8, TIM_IT_Update);
            /***/************中断函数*****************************/
    } 
  // OSIntExit();        
}  

void Timer1_Init(u16 arr,u16 psc)  
{  
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;  
  NVIC_InitTypeDef NVIC_InitStructure;  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //时钟使能  
  TIM_TimeBaseStructure.TIM_Period = arr; //设置自动重装载寄存器周期值  
  TIM_TimeBaseStructure.TIM_Prescaler =(psc-1);//设置预分频值  
  TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割  
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式  
  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;//重复计数设置设置重复计算次数  达到次数后出发 
  TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //参数初始化  
  TIM_ClearFlag(TIM1, TIM_FLAG_Update);//清中断标志位  
  TIM_ITConfig(TIM1,TIM_IT_Update, ENABLE);  //|TIM_IT_Trigger
  NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;    
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//先占优先级0级  
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;       //从优先级0级  
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  
  NVIC_Init(&NVIC_InitStructure);   
  TIM_Cmd(TIM1, ENABLE);  //使能TIMx外设  
}  
void TIM1_UP_IRQHandler(void)   
{    
    //OSIntEnter();    
    if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET)
    {  
        TIM_ClearITPendingBit(TIM1, TIM_IT_Update);
         /***********中断服务函数***********/   
    } 
   //OSIntExit();        
}  

注:TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;//重复计数设置设置重复计算次数  达到次数后出发  ,通用定时器与高级定时器的区别配置,重复触发配置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高级定时器 tim1 tim8 一般中断配置,以防以后忘记 的相关文章

  • C++模拟鼠标移动及单击实现代码

    摘要 本文分享了如何通过代码实现重复点击按钮 要实现该功能有个关键点需要注意 许多软件的按钮不是一个窗口 所以无法通过枚举窗口或者查找子窗口来定位按钮 本文通过直接定位按钮位置来避免这个问题 该程序的使用方法 管理员运行程序 移动鼠标指针到

随机推荐

  • C++ 预处理器

    http www runoob com cplusplus cpp preprocessor html
  • 虚拟专用网之L2TP协议介绍

    目录 L2TP简介 L2TP构建图解 L2TP建立及拆除流程 L2TP隧道的建立 L2TP会话的建立 L2TP隧道和会话维护和拆除流程 L2TP协议栈结构及数据包的封装过程 L2TP隧道和会话的验证过程 L2TP和PPTP的区别 L2TP简
  • z字形扫描

    z字形扫描 类别 数组 时间限制 1S 内存限制 256Kb 问题描述 在图像编码的算法中 需要将一个给定的方形矩阵进行Z字形扫描 Zigzag Scan 给定一个m n的矩阵 Z字形扫描的过程如下图所示 对于下面给出的4 4的矩阵 1 5
  • android studio从git上克隆项目显示the directory already exists and it is not empty

    英文的意思能看懂 文件夹已存在并且不为空 但是网上百度了一下貌似没有完完整整是这句话的问题 我还纳闷怎么克隆不下来 我是想把项目克隆下来到workspace里面 workspace里面本来就还有其他项目在 原来克隆操作不会帮你生成跟目录 你
  • Android 10.0 系统settings详情页 卸载修改为停止,禁止卸载app功能实现

    1 概述 在10 0的系统rom定制化功能的开发过程中 在一些系统预安装的app中 在Launcher3中可以通过拖拽然后卸载 这个限制卸载可以在前面的博客中禁止卸载这些预安装的app 然后就需要在系统Settings详情页来禁止app的卸
  • C语言 用户输入运算数和四则运算符,输出计算结果

    用C语言中简单的语句可以实现四则运算 1 if语句 include
  • 翻译 第11章 of IEEE Std 1666-2011 IEEE Standard for Standard SystemC Language Reference Manual

    11 TLM 2 0 core interfaces 11 TLM 2 0 核心接口 In addition to the core interfaces from TLM 1 TLM 2 0 adds blocking and non b
  • 如何把笔记本做台式机的副屏(一套键鼠控制两台电脑)

    通过一套键鼠控制两台电脑 前提 安装所需的软件 一 简介 二 安装 2 1 小技巧 前提 两台电脑在同一个局域网内 并且均为windows操作系统 例如两台电脑链接的同一个WIFI 或者笔记本无线连接路由 台式机插网线链接路由 只有在同一个
  • 史上最全排序算法全面总结

    考察点 在信息学奥赛初赛中对于排序算法的考察主要体现在以下几方面 1 时间复杂度 2 稳定性 3 最坏情况下移动次数 4 移动次数与关键字顺序关系 先看熟记知识点 1 关于稳定性 假定在待排序的记录序列中 存在多个具有相同的关键字的记录 若
  • 指针空间的申请和释放

    http blog csdn net netanimals article details 6530787
  • 若依跨域解决

    发现接口取消权限校验之后 跨域调用还是失败了 若依本身有跨域配置 注释掉换为新的 若依原跨域配置 ResourcesConfig 中 跨域配置 Bean public CorsFilter corsFilter CorsConfigurat
  • matlab中常用符号

    在使用MATLAB的过程中 经常需要对输出图形中的变量进行标注 其中经常遇到的难题就是如何标注各种上标 下标 斜体 黑体 箭头 上圆圈 正负号等特殊符号 以及如何标注特殊的数学符号 这里第一机电网给大家总结一下 希望对大家有用 一 MATL
  • 奥林巴斯新微单E-M5II曝光:合金机身可防水

    通常单反相机是专业摄影师的最佳工具 但是对于普通消费者来说 既要拥有专业的图像质量 又不想负担单反相机沉重的质量 就成为了基本的要求 因此 微单相机就在这种情况下应运而生 如果你还没决定好选择哪一款微单 那么奥林巴斯即将推出的这款OM D
  • Android APP性能及专项测试

    Android篇 1 性能测试 Android性能测试分为两类 1 一类为rom版本 系统 的性能测试 2 一类为应用app的性能测试 Android的app性能测试包括的测试项比如 1 资源消耗 2 内存泄露 3 电量功耗 4 耗时 5
  • 【C++ 进阶】继承

    一 继承的定义格式 基类又叫父类 派生类又叫子类 二 继承方式 继承方式分为三种 1 public继承 2 protected继承 3 private继承 基类成员与继承方式的关系共有9种 见下表 虽然说是有9种 但其实最常用的还是红框里的
  • 随心所欲Do whatever you want——Minecraft

    Minecraft是一款沙盒类电子游戏 开创者是马库斯 阿列克谢 泊松 由微软旗下Mojang Studios维护 从2017年开始 中国版 我的世界 由网易游戏代理 目标 Minecraft着重于让玩家去探索 交互 并且改变一个由一立方米
  • Github使用学习笔记(二)

    第二节任务 如何把我在本地上的工程上传到github上已经建好的仓库中 一 在本地目录下创建我的版本库 mkdir learngit cd learngit git init ls ah 首先创建一个空目录 目录名为learngit 之后进
  • 【华为OD】

    目录 一 题目描述 二 输入描述 三 输出描述 备注 用例 四 题目解析 五 Java玩法 六 JavaScript玩法 一 题目描述 一个图像有 n 个像素点 存储在一个长度为 n 的数组 img 里 每个像素点的取值范围 0 255 的
  • 网站流量统计

    常使用web服务器的朋友大都了解 一般的web server有两部分日志 一是运行中的日志 它主要记录运行的一些信息 尤其是一些异常错误日志信息 二是访问日志信息 它记录的访问的时间 IP 访问的资料等相关信息 现在我来和大家介绍一下利用t
  • 高级定时器 tim1 tim8 一般中断配置,以防以后忘记

    void Timer8 Init void TIM TimeBaseInitTypeDef TIM TimeBaseStructure NVIC InitTypeDef NVIC InitStructure RCC APB2PeriphCl