STM32中断定时,控制LED灯

2023-10-31

 1 #include "led.h"
 2 
 3 void TIM3_Int_Init(u16 arr,u16 psc)
 4 {
 5     TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
 6     NVIC_InitTypeDef NVIC_InitStructure;
 7 
 8     RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //设置TIM3时钟使能
 9 
10 
11     TIM_TimeBaseStructure.TIM_Period = arr; //设置重装载寄存器的周期
12     TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置时钟频率除数的预分频值
13     TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割
14     TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上的计数模式
15     TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //TIM3的初始化
16 
17     TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //TIM3更新中断使能
18 
19 
20     NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中断
21     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占优先0级
22     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //从占优先3级
23     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
24     NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器
25 
26 
27     TIM_Cmd(TIM3, ENABLE);  //使能TIM3
28 }
29 //定时器3中断服务程序
30 void TIM3_IRQHandler(void)   //TIM3中断
31 {
32     if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //检查TIM3更新中断发生与否
33         {
34         TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //清除TIMx更新中断标志
35         LED2=!LED2;  //取反
36         }
37 }
 1 #include "stm32f10x_conf.h"
 2 #include "led.h"
 3 #include "key.h"
 4 #include "delay.h"
 5 #include "timer.h"
 6 #include "usart.h"
 7 
 8 int main(void)
 9 {
10 
11     delay_init();
12     LED_Init();
13     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
14     uart_init(115200);
15     TIM3_Int_Init(4999,7199);
16     //((4999+1)*( 7199+1))/72=500000us=500ms  延时500ms
17   while(1)
18   {
19         LED3=!LED3;
20         delay_ms(1500);
21         /*当数值为2000时,延时时间变快。当数值为1500以下,
22         延时时间为x/1000,只设了几个值。其他值都还没有尝试。
23         */
24   }
25 
26 }

 

转载于:https://www.cnblogs.com/zengsf/p/7193538.html

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

STM32中断定时,控制LED灯 的相关文章

  • Flex&Bison 简单入门

    Flex Bison 简单入门 Ref flex与bison 中文版 1 Flex Bison安装 安装flex sudo apt install flex 安装bison sudo apt install bison 安装gcc 若缺少

随机推荐

  • R语言处理缺失数据的高级方法

    主要用到VIM和mice包 install packages c VIM mice 1 处理缺失值的步骤 步骤 1 识别缺失数据 2 检查导致数据缺失的原因 3 删除包含缺失值的实例或用合理的数值代替 插补 缺失值 缺失值数据的分类 1 完
  • Python(Pandas) 中map, applymap and apply的区别(记住作用对象:dataframe中的列,每一个元素,series每一个值)

    1 apply 当想让方程作用在一维的向量上时 可以使用apply来完成 如下所示 In 116 frame DataFrame np random randn 4 3 columns list bde index Utah Ohio Te
  • Linux与Windows的区别与比较,及Linux基本命令

    Linux VS Windows Linux 内核 最初是由爱好而编写的 linux系统与ubuntu 系统的区别 linux系统是以 linux内核源码开发出来的二次操作系统 而ubuntu系统是linux 系统的其中发行版之一 5 6
  • 【马士兵】Python基础--17

    Python基础 17 文章目录 Python基础 17 特殊方法和特殊属性 new init 类的赋值与浅拷贝 知识点总结 特殊方法和特殊属性 print dir object class delattr dir doc eq forma
  • Python运维开发工程师养成记(for循环语句)

    图示 案例 通过列表索引迭代 循环使用 else 语句 好了 今天学习到这里 下节开始学习python循环嵌套 链接 https ke qq com course 4300856 tuin d8aedf68
  • 【云原生之Docker实战】使用Docker部署MongoDB数据库管理工具Mongo-Express

    云原生之Docker实战 使用Docker部署MongoDB数据库管理工具Mongo Express 一 Mongo Express介绍 1 Mongo Express简介 2 MongoDB简介 二 检查本地系统环境 1 检查系统版本 2
  • 基于tcpdump实例讲解TCP/IP协议

    http www cnblogs com ggjucheng archive 2012 02 02 2335495 html 前言 虽然网络编程的socket大家很多都会操作 但是很多还是不熟悉socket编程中 底层TCP IP协议的交互
  • 树的遍历之B树及其变种

    文章目录 1 基本概念 1 1 B树的引进 1 2 B树的定义 1 3 B树的举例 2 B 树 3 B 树 4 总结 1 基本概念 1 1 B树的引进 我们发现 之前的二叉树 AVL 2 3树 这些树每一个节点所存储的数值量就只有一个 而这
  • 【Proteus仿真】【STM32单片机】智能手环

    文章目录 一 功能简介 二 软件设计 三 实验现象 联系作者 一 功能简介 系统运行后 OLED显示温度 心率 加速度极其阈值 可按下K3键进入阈值设置模式 K1和K2调节对应阈值 K4确定 当检测体温 心率 加速度超出阈值范围 则蜂鸣器报
  • vim常用命令总结(ideavim)

    vim常用命令总结 ideavim vim常用命令总结ideavim 插入命令 删除命令 复制命令 选中命令 光标移动 功能命令 标记命令 1 插入命令 i 命令可以在当前光标之前插入文本 I 命令可以在当前行首插入文本 a 命令可以在当前
  • sudo 命令无法使用

    1 不能使用sudo命令解决方法 想查看这个用户可以使用哪些sudo命令 输入正确密码却不能查看 原因就是在 etc sudoers中未添加该用户 xm oracle sudo l sudo password for xm Sorry us
  • adb 读取短信,通话记录、日历、通讯录等的方法

    读取手机短信 adb shell content query uri content sms 这将列出所有短信消息的详细信息 例如短信内容 发送者和接收者的电话号码 时间戳等 读取手机通话记录 adb shell content query
  • MainWindow 简介

    致介绍了 Qt 各个模块的相关内容 目的是对 Qt 框架有一个高屋建瓴般的了解 从现在开始 我们将开始尝试使用 Qt 开始新的历程 由于我们已经比较详细地介绍过信号槽的相关内容 因此我们可以用一个新的程序开始进一步的学习 同时对信号槽有一个
  • 【Unity3D小功能】Unity3D中实现Text显示版本功能

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好 我是佛系工程师 恬静的小魔龙 不定时更新Unity开发技巧 觉得有用记得一键三连哦 一 前言 在项目开发中 会遇到要控制版本的情况 比如说
  • Excel只能做表格?那是你不会用!10分钟做出高大上可视化图

    点击进入看图评论 很多公司都要求员工熟练的掌握Excel But 绝大多数人所谓的熟练使用Excel 估计也只会一些简单的表格和知道加减乘除 求和吧 再难一点 估计就真的把自己难倒了 讲真 Excel还是很牛的 只是你不会 话不多说 今天就
  • 解决Hbuilder打包的app返回键直接退出

    问题描述 Hbuilder打包的app如果点击手机返回键 app会直接退出 返回不了上一页 处理子页面点击返回键直接退出 无法返回 代码如下 这个不是写在首页 写在子页面 子页面才能返回 写在首页点击返回就是退出 不用引入mui js 都是
  • stc51单片机串口接收多字节数据

    stc51单片机串口接收多字节数据 简介 51单片机有2个定时器 一个做串口波特率 一个做数据截止帧延时检测 硬件平台测试使用的是stc8的单片机 但是可以往51移植 代码 include stc8 h unsigned char flag
  • 字典序排数相关算法

    记录两道与数字的字典序排数相关的题目 字节常考 把数字的字典序画出来看看马上就明白了 class Solution public List
  • 企业——企业架构的基本数据流向

    一 数据流向 1 基本的数据流向 client gt server 直接由客户端流向服务端 在实际生产环境中因为访问量大 服务器承受不了压力 因此基本不会使用 2 企业架构的数据流向 企业采用分布式的数据流向 cdn 缓存加速reverse
  • STM32中断定时,控制LED灯

    1 include led h 2 3 void TIM3 Int Init u16 arr u16 psc 4 5 TIM TimeBaseInitTypeDef TIM TimeBaseStructure 6 NVIC InitType