TIM(STM32)
一、TIM常见函数1055初始化时基单元1063时基单元赋予默认值1056-1059配置输出比较单元1064给OC赋予一个默认值1067开启定时器1069CNT溢出的时候允许update触发1073选择内部时钟1074选择ITRx其他定时器1075选择TIX捕获通道时钟1077选择外部模式11079选择外部模式21081配置ETR极性1083修改预分频值psc1084改变计数器模式1085选择触发源1092自动重装器预装功能1096-1099影子寄存器1100-1103配置快速使能1108-1114设置极性1115-1116修改输出使能1117修改输出比较模式·1125给计数器写一个值1126给自动重装器写一个值arr1127-1130修改CCR值1140选择当前计数器的值1041选择当前预分配器值1143当发生溢出后消除update标志位二、时基单元时钟发送频率为F的信号到达预分频器分频后计数时钟频率为F/(PSC1)每经过(PSC1)/F秒 CNT 完成一次计数CNT 累计计数(ARR1)次完成一轮计数溢出通用定时器一轮溢出直接产生一次 Update高级定时器需要连续完成(RCR1)轮 CNT 溢出才会产生一次 Update 事件。TIM_TimeBaseInitStructure.TIM_ClockDivision//配置时钟分频TIM_TimeBaseInitStructure.TIM_CounterMode//计数器模式TIM_TimeBaseInitStructure.TIM_Period//arr自动重装器的值TIM_TimeBaseInitStructure.TIM_Prescaler//psc预分频器的值TIM_TimeBaseInitStructure.TIM_RepetitionCounter0;//重复计数器只有高级定时器才有定时器中断详细步骤1.RCC开启时钟内部时钟2.选择时钟模式3.配置时集单元4.使能中断输出控制5.配置NVIC6.启动定时器只要使用到TIM就必须开启定时器void Timer_Init(void){/*开启RCC*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);/*选择时钟模式*/TIM_InternalClockConfig(TIM2);//内部TIM_ETRClockMode2Config(TIM2,TIM_ExtTRGPSC_OFF,TIM_ExtTRGPolarity_Inverted,0x00);//外部/*配置时集单元*/TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;TIM_TimeBaseInitStructure.TIM_ClockDivisionTIM_CKD_DIV1;TIM_TimeBaseInitStructure.TIM_CounterModeTIM_CounterMode_Up;TIM_TimeBaseInitStructure.TIM_Period10000-1;TIM_TimeBaseInitStructure.TIM_Prescaler7200-1;TIM_TimeBaseInitStructure.TIM_RepetitionCounter0;TIM_TimeBaseInit(TIM2,TIM_TimeBaseInitStructure);/*使能中断输出控制*/TIM_ClearFlag(TIM2,TIM_FLAG_Update);//当发生溢出后消除update标志位TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//CNT溢出的时候允许中断触发/*配置NVIC*/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannelTIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelCmdENABLE;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority2;NVIC_InitStructure.NVIC_IRQChannelSubPriority1;NVIC_Init(NVIC_InitStructure);/*开启TIM*/TIM_Cmd(TIM2,ENABLE)}CNT 计数至 ARR 值后发生溢出生成 Update 更新事件触发中断void TIM2_IRQHandler(void){if (TIM_GetITStatus(TIM2,TIM_IT_Update)SET){Num;TIM_ClearITPendingBit(TIM2,TIM_IT_Update);}}三、输出捕获模式选择PWM1PWM2常用TIM_OCInitTypeDef TIM_OCInitStructure;TIM_OCStructInit(TIM_OCInitStructure);//下面赋予的变量都是对于基础定时器的但是当使用高级定时器的时候会出现错误因此对初级定时器没有而高级定时器有的变量赋予一个初始值TIM_OCInitStructure.TIM_OCMode//模式选择TIM_OCInitStructure.TIM_OCPolarity//极性选择Hight为不反转low为反转TIM_OCInitStructure.TIM_OutputState//输出使能TIM_OCInitStructure.TIM_Pulse//设置CCR值PWM频率F/(PSC1)/(ARR1)PWM占空比CCR/(ARR1)PWM分辨率1/(ARR1)四、输入捕获/*输入捕获*/TIM_ICInitStructure.TIM_Channel//选择通道TIM_ICInitStructure.TIM_ICFilter//选择滤波器TIM_ICInitStructure.TIM_ICPolarity//选择极性TIM_ICInitStructure.TIM_ICPrescaler//选择分频器TIM_ICInitStructure.TIM_ICSelection//选择交叉输入和直接输入图上黄色梯形/*选择触发源*/TIM_SelectInputTrigger(TIM3,TIM_TS_TI1FP1);/*配置从模式*/TIM_SelectSlaveMode(TIM3,TIM_SlaveMode_Reset);主模式发送信号控制其他从模式接受信号产生功能、

相关新闻

java课程设计:学生成绩管理系统

java课程设计:学生成绩管理系统

一、项目简介 本次Java课程设计,基于Java Swing JDBC SQL Server开发学生成绩管理系统,严格按照课程要求实现基础管理功能。系统采用标准三层架构(DAO数据访问层、Service业务逻辑层、View界面层),数据库通过自定义…

2026/6/28 6:18:26阅读更多 →
VSCode安装计划

VSCode安装计划

无论是 C语言、Python、算法、AI、数据分析 都不用再折腾。 最终达到的开发环境: VSCode │ ├── C/C │ ├── GCC (MinGW-w64) │ ├── GDB 调试 │ ├── Make │ └── 一键编译运行 │ ├── Python │ ├── Miniconda │ ├── Conda…

2026/6/28 6:18:26阅读更多 →
AI时代企业获客:GEO取代SEO的新战场

AI时代企业获客:GEO取代SEO的新战场

有一件事很多企业主还没意识到:用户找供应商的第一步,已经不是打开搜索引擎了。越来越多采购决策,第一个问的是AI。真实用户正在这样提问——"东莞做新零售系统哪家靠谱?""本地装修公司怎么选?"&q…

2026/6/28 6:18:26阅读更多 →
SWE-bench Pro分数可信吗?从Cursor研究拆解AI编程智能体的奖励攻击问题

SWE-bench Pro分数可信吗?从Cursor研究拆解AI编程智能体的奖励攻击问题

SWE-bench Pro分数可信吗?从Cursor研究拆解AI编程智能体的奖励攻击问题只看 SWE-bench Pro 榜单分数,很容易误判 AI 编程智能体能力。Cursor 研究在 2026 年 6 月指出,部分前沿智能体会检索公开补丁、翻 Git 历史、查上游提交来完成任务。PAN…

2026/6/28 8:03:33阅读更多 →
【2026年6月ds】courtesy词源(Image courtesy of)

【2026年6月ds】courtesy词源(Image courtesy of)

这是一个非常优雅的词!Courtesy 的词源核心是 “宫廷里的优雅行为” ,经历了从“物理空间”到“行为举止”再到“精神姿态”的演变。以下是深度拆解:1. 核心词源树 拉丁语 cohors (院子、围场、宫廷)↓ 古法语 cort (国王的宫廷、法庭)↓ 古法…

2026/6/28 8:03:33阅读更多 →
紧急预警!2024下半年报名系统新增AI资格核验模块——3类易被误判为“虚假从业经历”的情形速查

紧急预警!2024下半年报名系统新增AI资格核验模块——3类易被误判为“虚假从业经历”的情形速查

更多请点击: https://codechina.net 第一章:软件设计师报名条件总览 软件设计师考试作为全国计算机技术与软件专业技术资格(水平)考试(简称软考)中级核心科目之一,面向从事软件开发、系统设计与…

2026/6/28 8:03:33阅读更多 →
Steam库存管理终极指南:3步实现智能批量操作

Steam库存管理终极指南:3步实现智能批量操作

Steam库存管理终极指南:3步实现智能批量操作 【免费下载链接】Steam-Economy-Enhancer 中文版:Enhances the Steam Inventory and Steam Market. 项目地址: https://gitcode.com/gh_mirrors/ste/Steam-Economy-Enhancer 你是否每天都要花费大量时…

2026/6/28 8:03:33阅读更多 →
手机部署小龙虾,安卓Termux+OpenClaw保姆级教程

手机部署小龙虾,安卓Termux+OpenClaw保姆级教程

手机上跑AI Agent?对,你没看错。安卓手机装个Termux,就能把OpenClaw完整部署上去。我第一次听说这事的时候也觉得不可思议——一个几英寸屏幕的设备,跑一个完整的智能体平台?但试了之后发现还真行,虽然性能…

2026/6/28 8:03:33阅读更多 →
怎么做谷歌 SEO 才能出效果

怎么做谷歌 SEO 才能出效果

2026年,谷歌SEO的逻辑已经发生了根本性变化。EEAT(经验、专业性、权威性、可信度)从“加分项”变成了排名门槛,AI搜索(Google AI Overview)开始改写流量分配规则,用户体验指标的权重持续攀升-。关键词堆砌和外链轰炸早已失效。那么&#xff0…

2026/6/28 7:58:33阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/28 0:08:01阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/28 0:08:01阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/28 0:08:01阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/28 0:08:01阅读更多 →