#天空星定时器点灯

一、定时器信息

STM32F407VET6一共有14个定时器,包括2个高级控制定时器、8个通用定时器、2个基本定时器和2个看门狗定时器。

高级定时器(TIMER1和TIMER8)是四通道定时器,支持输入捕获和输出比较。可以产生PWM信号控制电机和电源管理。

通用定时器TIM2、TIM3、TIM4和TIM5是4通道定时器,支持输入捕获和输出比较,可以产生PWM信号控制电机和电源管理。

通用定时器TIM9、TIM10、TIM11、TIM12、TIM13和TIM14是单通道定时器,支持输入捕获,输出比较,产生PWM信号控制电机和电源管理。

基本定时器(TIMER6和TIMER7)包含一个无符号的16位计数器。可以被用作通用定时器和为DAC(数字到模拟转换器)   提供时钟。基本定时器可以配置产生DMA请求,TRGO触发连接到DAC。

 二、定时器时钟

 

 三、定时器选择

我们选择定时器3,它挂载在APB1时钟上,APB1时钟最大42MHz,而定时器外设在这基础上倍频2倍,所以定时器三的频率为84MHz。

四、定时器配置

/** 立创开发板软硬件资料与相关扩展板软硬件资料官网全部开源* 开发板官网:www.lckfb.com* 技术支持常驻论坛,任何技术问题欢迎随时交流学习* 立创论坛:club.szlcsc.com* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!* 不靠卖板赚钱,以培养中国工程师为己任*/
#include "board.h"
#include "bsp_uart.h"
#include "stdio.h"
#include "sys.h"#define led PBout(2)uint16_t timercounter=0;int main(void)
{board_init();uart1_init(115200);//1.初始化LEDGPIO_InitTypeDef  GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_Init(GPIOB, &GPIO_InitStructure);//2.初始化TIMERTIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;//3.打开定时器时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);TIM_TimeBaseStructure.TIM_ClockDivision=0x00;   //不分频TIM_TimeBaseStructure.TIM_Prescaler=84-1;       //84分频  84MHZ/84=1MHZTIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;  //向上计数TIM_TimeBaseStructure.TIM_RepetitionCounter=0;  //不重复计数TIM_TimeBaseStructure.TIM_Period=1000-1;        //周期为1000,T=1000*(1/f)=1000*(1/1M)=1msTIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);//4.允许定时器中断TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//5.配置中断NVIC_InitTypeDef NVIC_InitStucture;NVIC_InitStucture.NVIC_IRQChannel=TIM3_IRQn;NVIC_InitStucture.NVIC_IRQChannelCmd=ENABLE;NVIC_InitStucture.NVIC_IRQChannelPreemptionPriority=0x01;NVIC_InitStucture.NVIC_IRQChannelSubPriority=0x01;NVIC_Init(&NVIC_InitStucture);    //6.开启定时器TIM_Cmd(TIM3,ENABLE);while(1){     //10.定时到达1s					if(timercounter>999){led=!led;timercounter=0;}		}}//7.中断服务函数
void TIM3_IRQHandler(void)
{
//8.判断定时器3是否中断if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET){
//9.清除定时器3的中断标志位TIM_ClearITPendingBit(TIM3,TIM_IT_Update);timercounter++;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/1864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot实现的摄影跟拍预定管理系统

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

嵌入式Linux开发实操(十九):Nand Flash驱动的实现

前言: nand flash从硬件连接上看,如下图,有专用接口,数据线有8或16根。 Nand Flash按每个存储单元Cell内存储比特个数不同可分为 SLC(Single-Level Cell存储1个比特)、MLC(Multi-Level Cell存储2个比特) 、 TLC(Triple-Level Cell存储3个比特)、QLC(Quad-Level C…

mysql基础9——时间函数

统计一天中每小时的销售数量和销售金额 将数据按照小时进行分组统计 关键就是把交易时间的小时部分提取出来 使用extract()和hour() 使用extract()获取小时的值 extract(type from date) 表示从日期时间数据date中抽取type指定的部分 select extract(hour from b.transd…

❤️新版Linux零基础快速入门到精通——第三部分❤️

❤️新版Linux零基础快速入门到精通——第三部分❤️ 非科班的我!Ta!还是来了~~~3. Linux权限管控3.1 认知root用户3.1.1 Switch User——su3.1.2 sudo命令3.1.3 为普通用户配置sudo认证 3.2 用户和用户组3.2.1 用户、用户组3.2.2 用户组管理3.2.3 用户管…

声明式事务

文章目录 1.事务分类1.传统方式解决事务2.声明式事务 2.声明式事务案例1.需求分析2.解决方案分析3.数据表创建4.编写GoodsDao.java1.编写配置文件JdbcTemplate_ioc.xml2.单元测试 5.编写GoodsService.java6.配置事务管理器JdbcTemplate_ioc.xml7.进行测试 3.debug事务管理器Dat…

【Linux】在ubuntu快速搭建部署K8S(1.27)集群

ubuntu快速安装K8s1.27 (一)环境说明1.硬件环境2.Ubuntu环境设置 (二)安装配置containerd1.安装2.配置3.启动 (三)所有节点操作1.安装runc和cni2.节点系统设置、关闭临时分区3.修改内核参数4.安装 kubeadm、…

稀碎从零算法笔记Day56-LeetCode:组合总和 Ⅳ

题型:DP、数组 链接:377. 组合总和 Ⅳ - 力扣(LeetCode) 来源:LeetCode 题目描述 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的…

代码随想录算法训练营第四十一天| 343.整数拆分、96.不同的二叉搜索树

系列文章目录 目录 系列文章目录343. 整数拆分动态规划 96.不同的二叉搜索树动态规划 343. 整数拆分 动态规划 动规五部曲: 确定dp数组(dp table)以及下标的含义:dp[i]表示分拆数字i,可以得到的最大乘积为dp[i]。确…

盲人出行挑战与曙光:“盲人视觉辅助技术研发”助力无障碍生活

作为一名资深记者,我深感盲人朋友们在日常出行中面临的种种困难。然而,在科技日新月异的今天,一项名为蝙蝠避障的专为盲人视觉辅助技术研发的领域正在以前沿科技成果,为改善盲人出行困境带来希望之光。本文将深入探讨这一技术如何…

FastGPT+ChatGLM3本地部署

FastGPTChatGLM本地部署 本地部署硬性要求:显存13g以上 关于环境的安装就不多赘述,conda pip 可以解决大部分问题 ChatGLM本地运行 m3e-basechatglm3-6b 在huggingface上可以下载上述模型,如果没有梯子可以使用huggingface镜像 从git…

【进程地址空间】地址空间理解存在原因 | 深入理解页表写时拷贝虚拟地址

目录 地址空间深入理解 划分区域 理解地址空间 地址空间存在的意义 意义1 意义2 意义3 理解页表和写时拷贝 页表 写时拷贝 OS识别错误 理解虚拟地址 fork解释 上篇我们简单的学习了进程地址空间/页表/物理地址/虚拟地址/写时拷贝等概念。本篇深入理解下。 地址空…

Ubuntu系统下 Nvidia驱动 + cuda驱动 + CuDNN安装与卸载

Ubuntu系统下 Nvidia驱动 cuda驱动 CuDNN安装与卸载 一、NVIDIA驱动与CUDA驱动的区别二、NVIDIA驱动安装与卸载1. 查看系统内核版本2. 查看显卡型号3. 查看是否有显卡驱动4. 禁用nouveau并重启5. 卸载旧版本6. 安装1:使用标准Ubuntu仓库进行自动化安装…

学习笔记Day21:转录组差异分析

转录组差异分析 差异分析难点在于将数据处理成需要的格式 表达矩阵 数值型矩阵-count 行名是symbol 低表达量的基因需要过滤 分组信息 因子,对照组在level第一位 与表达矩阵的列一一对应 项目名称 字符串(不要有特殊字符) TCGA-XX…

路由策略实验

一.实验拓扑图: 二.实验要求: 1.按照图示配置IP地址,R1,R3,R4上使用loopback口模拟业务网段 2.R1和R2运行RIPv2,R2,R3和R4运行OSPF,各自协议内部互通 3.在RIP和OSPF间配置双向路由引入,要求除R4…

PHP 函数的命名空间是否会影响执行顺序?

在 php 中,函数命名空间一般不会影响执行顺序。执行顺序通常由文件顺序或函数调用顺序决定。即使函数位于不同的命名空间中,只要它们在同一文件中,它们就会按照定义顺序执行。 PHP 函数命名空间是否会影响执行顺序? 简介 在 PHP…

pygame 烟花效果

# 初始化 pygame.init() screen_width 800 screen_height 600 screen pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption(烟花效果) # 焰火发射 particles [] # 焰火粒子 def firework(x, y): num_particles 100 # 每次发射的…

关于ResNet的假说

ResNet 最核心的思想就是 恒等映射吧 那么现在来提出几个问题: 为什么deeper 以后train L 会增加?恒等映射会解决什么问题?能否解决梯度非常陡峭的问题?你想到了什么模型有类似的问题,如何进行改进的? as…

本地环境通过ssh通道连接服务器数据库,实现本地客户端和代码可以访问数据库

使用方法: ssh -p 搭建隧道的端口 -fNL 本地端口:远程ip:远程端口号 搭建隧道的账号搭建隧道的ip 可以增加参数-v,输出更多的信息 ssh -p 搭建隧道的端口 -fNL 本地端口:远程ip:远程端口号 -v 搭建隧道的账号搭建隧道的ip 有时候,测试环境的数据库不允许…

ClickHouse 数据类型、表引擎与TTL

文章目录 数据类型表引擎1.TinyLog 引擎2.MergeTree 引擎3.ReplacingMergeTree 引擎4.AggregatingMergeTree 引擎5.SummingMergeTree 引擎6.CollapsingMergeTree 引擎7.Distributed 引擎 TTL列级 TTL表级TTL 数据类型 ClickHouse 数据类型Java 数据类型数据范围UInt8Short0 到…

获取肖博数学全套视频+讲义

肖博数学是一个专业团队,教学方法非常颠覆,具有很多技巧&特殊的解题方法内容,能使得学生在高考时冲刺高分 hello,今天分享一下高中数学资料,肖博数学, 他们的教学方法与传统的教学方式有所不同&#…