当前位置: 首页 > news >正文

stm32基本定时器

Driver_TIM6.c

需要注意立即进入中断问题,原因是预分频寄存器并没有更新预分频系数。

#include "Driver_TIM6.h"
#include "Delay.h"
/*** @description: 给定时器6进行初始化* @return {*}*/
void Driver_TIM6_Init(void)
{/* 1. 给定时器6开启时钟*/RCC->APB1ENR |= RCC_APB1ENR_TIM6EN;/* 2. 设置预分频值: 分频值7199表示7200分频。分频后频率10K,周期100us */TIM6->PSC = 7200 - 1;/*3. 设置自动重转载寄存器的值,决定中断发生的频率。假设设置为9999,表示计数器计数10000次发生一次中断。计数一次100us,10000次1000000us,正好1s*/TIM6->ARR = 10000 - 1;/* 为了避免一启动立即进入更新中断,可以先产生一个更新事件 预分频寄存器和重装载寄存器都有影子寄存器预分频寄存器的影子寄存器和重装载寄存器需要CNT溢出一次才能更新*/TIM6->CR1 |= TIM_CR1_URS;//产生一个更新事件 TIM6->EGR |= TIM_EGR_UG; /* 预分频寄存器和重装载寄存器的值更新到影子寄存器 */// TIM6->SR &= ~TIM_SR_UIF;/* 4. 使能更新中断 */TIM6->DIER |= TIM_DIER_UIE;/* NVIC配置 *//* 5. 设置中断优先级分组 */NVIC_SetPriorityGrouping(3);/* 6. 设置中断优先级 */NVIC_SetPriority(TIM6_IRQn, 1);/* 7. 使能定时器6的中断 */NVIC_EnableIRQ(TIM6_IRQn);/* 8. 使能计数器 */TIM6->CR1 |= TIM_CR1_CEN;
}/*** @description: TIM6的中断服务函数* @return {*}*/
void TIM6_IRQHandler(void)
{TIM6->SR &= ~TIM_SR_UIF;Drviver_LED_Toggle(LED_1);printf("1\r\n");
}

Driver_TIM6.h

#ifndef __DRIVER_TIM6_H
#define __DRIVER_TIM6_H#include "stm32f10x.h"
#include "Driver_LED.h"
#include "Driver_USART.h"void Driver_TIM6_Init(void);#endif

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 认证和授权类漏洞挖掘指南
  • uniapp 封装瀑布流组件
  • H5与小程序:两者有何不同?
  • 【Java 注解,自定义注解,元注解,注解本质,注解解析】
  • STM32(一):安装环境
  • MySQL创建新用户并赋予指定数据库权限
  • centos系统查找mysql的配置文件位置
  • iOS UITableView自带滑动手势和父视图添加滑动手势冲突响应机制探索
  • 数据结构基础--------【二叉树基础】
  • 视频共享交换平台LntonCVS视频监控平台智慧加油站安全管理方案
  • Haproxy搭建Web群集
  • (一)、python程序--模拟电脑鼠走迷宫
  • element plus 实现跨页面+跨tab栏多选
  • RK3568平台(opencv篇)opencv处理图像视频
  • 雅思词汇及发音积累 2024.7.10
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Apache Spark Streaming 使用实例
  • CSS 提示工具(Tooltip)
  • extjs4学习之配置
  • Facebook AccountKit 接入的坑点
  • gulp 教程
  • js正则,这点儿就够用了
  • Mysql优化
  • React16时代,该用什么姿势写 React ?
  • ReactNativeweexDeviceOne对比
  • ucore操作系统实验笔记 - 重新理解中断
  • 从零开始学习部署
  • 大整数乘法-表格法
  • 力扣(LeetCode)21
  • 免费小说阅读小程序
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 听说你叫Java(二)–Servlet请求
  • 想使用 MongoDB ,你应该了解这8个方面!
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • elasticsearch-head插件安装
  • FaaS 的简单实践
  • !$boo在php中什么意思,php前戏
  • # centos7下FFmpeg环境部署记录
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (力扣题库)跳跃游戏II(c++)
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (转) Face-Resources
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET CORE 第一节 创建基本的 asp.net core
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net 使用ajax控件后如何调用前端脚本
  • .net 受管制代码