定时器中断跨文件使用变量
1.初始化定时器1定时器结构图2.步骤1.RCC开启时钟2.选择时基单元的时钟源定时中断选择内部时钟源3.配置时基单元包括预分频器自动重装器计数模式等用结构体配置4.配置中断输出控制允许更新中断输出到NVIC5.配置NVIC在NVIC中打开定时器中断的通道并分配一个优先级6.运行控制在整个模块配置完成后我们还需要使能计数器3.执行流程当定时器使能后计数器就开始计数计数器更新时触发中断在编写一个定时器的中断函数就可以达到中断函数每隔一段时间就能自动执行一次的效果2.定时器库函数1.TIM_DeInit恢复缺省配置2.TIM_TimeBaseInit时基单元初始化用于配置时基单元参数有TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct1.TIMx选择某个定时器2.TIM_TimeBaseInitStruct结构体包含了配置时基单元的一些参数3.TIM_TimeBaseStructInit把结构体变量赋予一个默认值4.TIM_Cmd用于使能计数器运行控制参数有(TIM_TypeDef* TIMx, FunctionalState NewState)1.TIMx选择定时器2.FunctionalState NewState新的状态也就是使能或失能使能-计数器可以运行失能-计数器不能运行5.TIM_ITConfig用于使能中断输出信号中断输出控制参数有(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState)1.TIMx选择定时器2.TIM_IT选择要配置哪个中断输出3. NewState新的状态即使能还是失能6.时钟源选择部分可以选择RCC内部时钟ETR外部时钟ITRx其他定时器TIx捕获通道1.void TIM_InternalClockConfig(TIM_TypeDef* TIMx);选择内部时钟2.void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource);选择ITRx其他定时器的时钟参数有TIMxTIM_InputTriggerSource1.TIMx选择要配置的定时器2.TIM_InputTriggerSource选择要接入的其他定时器3.void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource,uint16_t TIM_ICPolarity, uint16_t ICFilter);选择TIx捕获通道的时钟参数含义1.TIMx选择要配置的定时器2.TIM_TIxExternalCLKSource选择TIx具体的某个引脚3.TIM_ICPolarity,输入的极性4.ICFilter输入的滤波器4.void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter);选择ETR通过外部模式1输入的时钟参数含义1.TIMx选择要配置的定时器2.TIM_ExtTRGPrescaler外部触发预分频器可以对ETR的外部时钟再提前做一个分频3.TIM_ExtTRGPolarityExtTRGFilter极性和滤波器5.void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter);选择ETR通过外部模式2输入的时钟参数含义1.TIMx选择要配置的定时器2.TIM_ExtTRGPrescaler外部触发预分频器可以对ETR的外部时钟再提前做一个分频3.TIM_ExtTRGPolarityExtTRGFilter极性和滤波器注若不需要触发输入功能void TIM_ETRClockMode1Config和.void TIM_ETRClockMode2Config可以互换6.void TIM_ETRConfig(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter);单独用来配置ETR引脚的预分频器极性滤波器等参数7.TIM_PrescalerConfig用于单独写预分频值参数有TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode1.TIMx选择要配置的定时器2.Prescaler选择写入的预分频值3.TIM_PSCReloadMode写入的模式8.TIM_CounterModeConfig用于改变计数器的计数模式参数有TIM_TypeDef* TIMx, uint16_t TIM_CounterMode1.TIMx选择要配置的定时器2.TIM_CounterMode选择新的计数器模式9.TIM_ARRPreloadConfig用于自动重装器功能配置这个参数的失能或失能可以选择是否有预装10.TIM_SetCounter给计数器写入一个值11.TIM_SetAutoreload给自动重装器写入一个值12.TIM_GetCounter获取当前计数器的值13.TIM_GetPrescaler获取当前预分频器的值14.FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG);void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG);ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT);void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT);1作用上述四个函数用于获取和清除标志位3.时钟分频1.作用在定时器外部信号输入引脚一般都会有一个滤波器可以过滤掉信号的抖动干扰2.工作原理在一个固定的时钟频率f下进行采样如果N个采样点均为相同电平则输入信号稳定输出采样值若出现不相同电平说明信号有抖动保持上一次输出或直接输出低电平这样就能保证输出信号在一定程度上的滤波采样频率f和采样点数N都是滤波器的参数频率越低采样点数越多滤波效果越好信号延迟越大3.采样频率f从内部时钟或内部时钟外挂一个外部时钟分频而来分频多少就是由参数clock division决定4.clock division参数有TIM_CKD_DIV1TIM_CKD_DIV2TIM_CKD_DIV4分别代表1分频不分频2分频4分频4.计数器模式1.分为向上计数TIM_CounterMode_Up向下计数TIM_CounterMode_Down和三种中央对齐模式TIM_CounterMode_CenterAligned1TIM_CounterMode_CenterAligned2TIM_CounterMode_CenterAligned35.剩余参数1.PeriodARR自动重装器的值2.PrescalerPSC预分频器的值3.RepetitionCounter重复计数器的值6.定时时间1.以定时1秒为例使用计数器溢出频率公式CK_CNT_OVCK_CNT/(ARR1)CK_PSC/(PSC1)/(ARR1)CK_PSC72MHz7.跨文件使用变量1.在使用变量的文件上面用extern声明要用的变量2.直接在主函数中复制中断函数

相关新闻

大数据开发工具-Transwarp Data Studio

大数据开发工具-Transwarp Data Studio

大数据开发工具-Transwarp Data StudioTranswarp Data Studio ( 简称TDS ) 是星环科技自研的一站式大数据开发工具,提供数据集成、存储、治理、服务和共享等数据处理全生命周期的企业级管理能力,结合星环科技大数据基础平台 Transwarp Data Hub&#xff…

2026/7/7 15:19:17 阅读更多 →
基于K4UJE3D4AA-KFCL03V的12GB汽车电子内存设计:2颗实现高密度低功耗方案

基于K4UJE3D4AA-KFCL03V的12GB汽车电子内存设计:2颗实现高密度低功耗方案

K4UJE3D4AA-KFCL03V:三星48Gb LPDDR4X车规级高密度内存颗粒深度解析在车载信息娱乐系统、高级驾驶辅助系统(ADAS)以及各类对容量、功耗和可靠性有综合要求的嵌入式应用中,内存颗粒的选型直接影响系统的数据处理能力和长期稳定性。…

2026/7/7 15:17:17 阅读更多 →
PCF8591与PIC32MX695F512L的I2C通信与数据采集实现

PCF8591与PIC32MX695F512L的I2C通信与数据采集实现

1. PCF8591与PIC32MX695F512L的硬件协同设计 PCF8591作为一款经典的8位ADC/DAC转换芯片,与PIC32MX695F512L这款32位高性能微控制器的组合,为开发者提供了灵活可靠的混合信号处理方案。这套组合特别适合需要同时处理多路模拟信号输入输出的场景&#xff0…

2026/7/7 15:17:16 阅读更多 →

最新新闻

如何免费使用这款强大的AI图像增强工具:Real-ESRGAN-ncnn-vulkan终极完整指南

如何免费使用这款强大的AI图像增强工具:Real-ESRGAN-ncnn-vulkan终极完整指南

如何免费使用这款强大的AI图像增强工具:Real-ESRGAN-ncnn-vulkan终极完整指南 【免费下载链接】Real-ESRGAN-ncnn-vulkan NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration. 项目地址: h…

2026/7/7 16:37:49 阅读更多 →
使用 DevEco Studio 配置 Flutter 鸿蒙签名

使用 DevEco Studio 配置 Flutter 鸿蒙签名

签名是鸿蒙应用从开发到发布绕不开的一环。本文以 E-Brufen 的真实签名为例,详解完整的证书配置流程。 一、为什么需要签名? HarmonyOS 要求所有 HAP 包必须经过数字签名才能安装运行。签名体系包含四个关键文件: 文件扩展名用途密钥库.p12…

2026/7/7 16:37:49 阅读更多 →
数电发票开票的订单明细金额一般不能为0

数电发票开票的订单明细金额一般不能为0

数电发票订单明细中单项金额为‌0元通常不符合常规经营业务规定‌,除非属于特定的‌视同销售、样品赠送或差额征税调整‌等合规场景,否则可能被系统判定为异常交易。核心判断标准‌一般商品/服务销售‌:若发生真实交易并收取款项,…

2026/7/7 16:35:49 阅读更多 →
单次示范实现可变形物体上下文模仿学习

单次示范实现可变形物体上下文模仿学习

1. 项目概述:这不是“教机器人折纸”,而是让机器真正理解“形变”的物理直觉“Instant-Fold”这个名字乍一听像某个极客玩具的代号,但如果你拆开来看——Instant(瞬时) Fold(折叠),它…

2026/7/7 16:35:49 阅读更多 →
3个关键步骤突破单细胞RNA测序分析瓶颈:STARsolo终极实战指南

3个关键步骤突破单细胞RNA测序分析瓶颈:STARsolo终极实战指南

3个关键步骤突破单细胞RNA测序分析瓶颈:STARsolo终极实战指南 【免费下载链接】STAR RNA-seq aligner 项目地址: https://gitcode.com/gh_mirrors/st/STAR 单细胞RNA测序分析中的比对效率直接决定了研究进展的速度,而STARsolo作为STAR比对器的集成…

2026/7/7 16:33:48 阅读更多 →
2026最新8款企业级AI编程工具 基础版免费权威盘点

2026最新8款企业级AI编程工具 基础版免费权威盘点

作为运维出身的DevOps工程师,我常年在掘金、CSDN分享企业级开发与运维经验,深度使用过各类AI编程工具。最近在智能家居控制台(项目代号:HomeControl V3.0)的开发中,我深刻体会到企业级AI编程工具的重要性。…

2026/7/7 16:31:48 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻