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

【STM32】知识点介绍六:外设定时器

文章目录一、外设定时器二、定时计算三、库函数四、代码思路一、外设定时器1.定义设置定时时间定时周期超时后则执行指定操作的硬件。2.STM32F407定时器特征具有基本的定时功能也有 PWM 输出灯光亮度控制、电机的转速、脉冲捕获功能红外捕捉。2个高级控制定时器、10 个通用定时器 和 2 个基本定时器。高级控制定时器TIM1 和 TIM8挂载到APB2。具有 16 位定时器功能也具有 PWM 输出高级控制功能包括捕获和比较功能。通用定时器TIM2 到 TIM5挂载到APB1。具有 16 或 32位定时功能也具有 PWM 输出控制功能。通用定时器TIM9 到 TIM14挂载到APB1或APB2。具有 16 位定时功能也具有 PWM 输出控制功能基本定时器TIM6 和 TIM7挂载到APB1。具有 16 位定时功能。3.定时器区别1通用定时器和购机定时器二、定时计算1.定时器时钟频率由硬件自动设置STM32F405xx/07xx 和 STM32F415xx/17xx 的定时器时钟频率由硬件自动设置。分为两种情况1如果 APB 预分频器为 1定时器时钟频率等于 APB 域APB1和APB2的频率。2等于 APB 域APB1和APB2的频率的两倍 (×2)。关于APB1与APB2预分频值的说明在system_stm32f4xx.c文件的头部详细描述如下*5.This file configures the system clock as follows:***Supported STM32F40xxx/41xxx devices*-----------------------------------------------------------------------------*System Clock source|PLL(HSE)*-----------------------------------------------------------------------------*SYSCLK(Hz)|168000000*-----------------------------------------------------------------------------*HCLK(Hz)|168000000*-----------------------------------------------------------------------------*AHB Prescaler|1*-----------------------------------------------------------------------------*APB1 Prescaler|4*-----------------------------------------------------------------------------*APB2 Prescaler|2*-----------------------------------------------------------------------------*HSEFrequency(Hz)|25000000关于APB1与APB2预分频值设置在system_stm32f4xx.c文件详细代码如下/** * brief Configures the System clock source, PLL Multiplier and Divider factors, * AHB/APBx prescalers and Flash settings * Note This function should be called only once the RCC clock configuration * is reset to the default reset state (done in SystemInit() function). * param None * retval None */staticvoidSetSysClock(void){............/* HCLK SYSCLK / 1*/RCC-CFGR|RCC_CFGR_HPRE_DIV1;#ifdefined(STM32F40_41xxx)||defined(STM32F427_437xx)||defined(STM32F429_439xx)/* PCLK2 HCLK / 2*/RCC-CFGR|RCC_CFGR_PPRE2_DIV2;/* PCLK1 HCLK / 4*/RCC-CFGR|RCC_CFGR_PPRE1_DIV4;#endif/* STM32F40_41xxx || STM32F427_437x || STM32F429_439xx */............}2.定时器3硬件时钟3.定时500msTIM_TimeBaseStructure.TIM_Period(10000/2)-1;//定时时间的配置也就是配置重载值而重载值会传递给计数值TIM_TimeBaseStructure.TIM_Prescaler8400-1;//配置分频值确定定时器的时钟频率TIM_TimeBaseStructure.TIM_CounterModeTIM_CounterMode_Up;//向上计数0-TIM_Period就会触发中断请求TIM_TimeBaseInit(TIM3,TIM_TimeBaseStructure);疑点为什么预分频填写参数时要减1答因为参数传递给寄存器时默认帮忙加1。拓展1若定时器3的硬件时钟频率为10000Hz最大的定时时间1000ms Tmax--------------1000065536Tmax6553.6ms6.5536s拓展2下图STM32F407无时钟分频。4.TIM时基单元1定时器定时时长计算公式定时器的定时时长T由以下公式决定其中PSC预分频器值0~65535ARR自动重装载值0~65535TIM_CLK定时器时钟频率Hz2PWM特性计算在时基单元的配置中我们已经推导出频率占空比×定时时长PWM输出高/低电平时间则三、库函数1.定时器基本初始化/** * brief Initializes the TIMx Time Base Unit peripheral according to * the specified parameters in the TIM_TimeBaseInitStruct. * param TIMx: where x can be 1 to 14 to select the TIM peripheral. * param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef structure * that contains the configuration information for the specified TIM peripheral. * retval None */voidTIM_TimeBaseInit(TIM_TypeDef*TIMx,TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStruct)2.定时器中断配置/** * brief Enables or disables the specified TIM interrupts. * param TIMx: where x can be 1 to 14 to select the TIMx peripheral. * param TIM_IT: specifies the TIM interrupts sources to be enabled or disabled. * This parameter can be any combination of the following values: * arg TIM_IT_Update: TIM update Interrupt source * arg TIM_IT_CC1: TIM Capture Compare 1 Interrupt source * arg TIM_IT_CC2: TIM Capture Compare 2 Interrupt source * arg TIM_IT_CC3: TIM Capture Compare 3 Interrupt source * arg TIM_IT_CC4: TIM Capture Compare 4 Interrupt source * arg TIM_IT_COM: TIM Commutation Interrupt source * arg TIM_IT_Trigger: TIM Trigger Interrupt source * arg TIM_IT_Break: TIM Break Interrupt source * * note For TIM6 and TIM7 only the parameter TIM_IT_Update can be used * note For TIM9 and TIM12 only one of the following parameters can be used: TIM_IT_Update, * TIM_IT_CC1, TIM_IT_CC2 or TIM_IT_Trigger. * note For TIM10, TIM11, TIM13 and TIM14 only one of the following parameters can * be used: TIM_IT_Update or TIM_IT_CC1 * note TIM_IT_COM and TIM_IT_Break can be used only with TIM1 and TIM8 * * param NewState: new state of the TIM interrupts. * This parameter can be: ENABLE or DISABLE. * retval None */voidTIM_ITConfig(TIM_TypeDef*TIMx,uint16_tTIM_IT,FunctionalState NewState)递增计数模式在递增计数模式下计数器从 0 计数到自动重载值TIMx_ARR 寄存器的内容然后重新从 0 开始计数并生成计数器上溢事件。每次发生计数器上溢时会生成更新事件。TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);3.定时器工作使能/** * brief Enables or disables the specified TIM peripheral. * param TIMx: where x can be 1 to 14 to select the TIMx peripheral. * param NewState: new state of the TIMx peripheral. * This parameter can be: ENABLE or DISABLE. * retval None */voidTIM_Cmd(TIM_TypeDef*TIMx,FunctionalState NewState)四、代码思路使能定时器硬件时钟设置定时器分频值确定定时器计数值使能定时器工作使能定时器更新中断触发配置定时器中断优先级编写定时器中断服务函数

相关文章:

【STM32】知识点介绍六:外设定时器

文章目录一、外设定时器二、定时计算三、库函数四、代码思路一、外设定时器 1.定义   设置定时时间(定时周期),超时后则执行指定操作的硬件。 2.STM32F407定时器特征   具有基本的定时功能,也有 PWM 输出(灯光亮…...

大棚搭配种植指南

第一部分:植物间相互作用的四大机制 化学通讯与忌避作用:植物释放的挥发性气味(如葱蒜的硫化物、香草的萜烯类)可直接驱赶害虫,或掩盖主作物气味,干扰害虫定位。这是驱虫组合的核心。根系分泌与土壤改良&am…...

基于Appium+pytest+Allure的App UI自动化测试框架实战(含完整项目架构与落地指南)

前言 在移动应用测试中,UI自动化测试能有效降低重复手工测试成本,提升版本迭代的回归测试效率。本文将详细分享一套基于 AppiumpytestPythonAllure 构建的高可维护、易扩展的App UI自动化测试框架,包含完整的项目架构设计、环境配置、测试流…...

ubuntu22.04相关教程存档

ubuntu22.04 windows10双系统安装 【Windows 10 和 Ubuntu 双系统的安装和卸载】 https://www.bilibili.com/video/BV1554y1n7zv/ 下载ubuntu22.04系统镜像:https://ubuntu.com/download/alternative-downloads 下载Rufus:https://rufus.ie/zh/ ubuntu2…...

MedGemma Medical Vision Lab惊艳效果展示:X-Ray影像中文问答精准分析案例集

MedGemma Medical Vision Lab惊艳效果展示:X-Ray影像中文问答精准分析案例集 1. 引言:AI如何看懂医学影像 想象一下,你是一位医学生,面对一张复杂的X光片,想要快速了解其中的关键信息。或者你是一位医学研究者&#…...

cv_resnet101_face-detection_cvpr22papermogface快速上手:5分钟启动本地化人脸预处理系统

cv_resnet101_face-detection_cvpr22papermogface快速上手:5分钟启动本地化人脸预处理系统 你是不是也遇到过这样的问题?想在自己的电脑上跑一个人脸检测程序,结果光是配环境、下模型、写代码就折腾了大半天,最后还不一定能跑起来…...

GTE中文Large模型惊艳效果:中文微信公众号文章主题演化分析

GTE中文Large模型惊艳效果:中文微信公众号文章主题演化分析 1. 引言:从海量文章中洞察趋势 每天,中文互联网上产生数以百万计的微信公众号文章,涵盖了科技、教育、健康、娱乐等各个领域。如何从这些海量文本中发现有价值的信息趋…...

MiniCPM-V-2_6模型版本管理:Ollama中多版本minicpm-v模型共存方案

MiniCPM-V-2_6模型版本管理:Ollama中多版本minicpm-v模型共存方案 1. 引言:当新版本模型遇上旧习惯 如果你最近在Ollama里尝试了MiniCPM-V-2_6,可能会遇到一个挺常见的问题:想用新版本,但之前部署的旧版本&#xff0…...

[特殊字符] mPLUG-Owl3-2B多模态工具效果展示:支持<|image|>标记的官方Prompt对齐实测

mPLUG-Owl3-2B多模态工具效果展示&#xff1a;支持<|image|>标记的官方Prompt对齐实测 1. 多模态交互新体验 今天要给大家展示一个特别实用的多模态工具——基于mPLUG-Owl3-2B模型开发的本地图文交互工具。这个工具最大的特点是完全解决了原生模型调用时的各种报错问题…...

Audio Pixel Studio快速上手:移动端Safari/Chrome浏览器兼容性实测报告

Audio Pixel Studio快速上手&#xff1a;移动端Safari/Chrome浏览器兼容性实测报告 1. 引言&#xff1a;为什么关注移动端兼容性 Audio Pixel Studio作为一款基于Streamlit开发的轻量级音频处理工具&#xff0c;其核心价值在于随时随地创作音频内容。但在实际使用中&#xff…...

PP-DocLayoutV3真实案例:某省档案馆日均万页文档结构化处理效果对比

PP-DocLayoutV3真实案例&#xff1a;某省档案馆日均万页文档结构化处理效果对比 1. 项目背景与挑战 某省档案馆承担着全省历史档案的数字化保存与利用工作。随着数字化进程的推进&#xff0c;他们面临着一个巨大的挑战&#xff1a;每天需要处理上万页的纸质档案扫描件&#x…...

Qwen3-0.6B-FP8企业应用:低算力服务器部署多语言知识引擎

Qwen3-0.6B-FP8企业应用&#xff1a;低算力服务器部署多语言知识引擎 1. 引言&#xff1a;当大模型遇见“小”服务器 如果你是一家中小企业的技术负责人&#xff0c;或者是一个独立开发者&#xff0c;是不是经常有这样的困扰&#xff1a;看到那些动辄几十亿、上百亿参数的大模…...

SeqGPT-560M中文优化深度解析:针对简体中文语义理解的Prompt设计技巧

SeqGPT-560M中文优化深度解析&#xff1a;针对简体中文语义理解的Prompt设计技巧 1. 引言&#xff1a;当AI能“秒懂”你的中文 想象一下&#xff0c;你拿到一个全新的AI模型&#xff0c;不需要准备海量数据&#xff0c;也不需要花几天几周去训练它&#xff0c;只需要告诉它“…...

Qwen3-ForcedAligner-0.6B效果展示:多人交叉对话音频→说话人分离+字级时间戳

Qwen3-ForcedAligner-0.6B效果展示&#xff1a;多人交叉对话音频→说话人分离字级时间戳 1. 引言&#xff1a;当AI能听懂每个人的声音 想象这样一个场景&#xff1a;一场多人参与的线上会议&#xff0c;大家热烈讨论&#xff0c;发言此起彼伏。会议结束后&#xff0c;你需要整…...

实时手机检测-通用参数详解:backbone/neck/head结构与性能关系

实时手机检测-通用参数详解&#xff1a;backbone/neck/head结构与性能关系 1. 模型概述与核心价值 实时手机检测-通用模型是一个专门用于检测图像中手机位置的高性能AI模型。这个模型基于DAMO-YOLO框架构建&#xff0c;在精度和速度方面都超越了传统的YOLO系列方法&#xff0…...

造相-Z-Image惊艳效果:特写人像8K输出细节放大图(毛孔/发丝/布料纹理)

造相-Z-Image惊艳效果&#xff1a;特写人像8K输出细节放大图&#xff08;毛孔/发丝/布料纹理&#xff09; 最近在折腾本地AI生图&#xff0c;总感觉有些模型要么速度慢&#xff0c;要么画质不够“真”。直到我试了基于通义千问Z-Image模型优化的“造相-Z-Image”引擎&#xff…...

Qwen3-TTS-VoiceDesign部署案例:跨国企业内部培训多语种语音课件

Qwen3-TTS-VoiceDesign部署案例&#xff1a;跨国企业内部培训多语种语音课件 1. 项目背景与需求 跨国企业经常面临一个共同挑战&#xff1a;如何高效制作多语言培训材料。传统方式需要聘请不同语种的配音演员&#xff0c;成本高、周期长&#xff0c;而且难以保证发音一致性。…...

StructBERT情感分析应用场景:短视频弹幕实时情感聚类与热词提取

StructBERT情感分析应用场景&#xff1a;短视频弹幕实时情感聚类与热词提取 1. 引言&#xff1a;弹幕数据的情感价值 你有没有在刷短视频时&#xff0c;被满屏的弹幕吸引过&#xff1f;那些快速滚动的文字&#xff0c;不仅是观众的真实反应&#xff0c;更是宝贵的情感数据金矿…...

Z-Image-GGUF效果实测:1024x1024输出在打印A3海报时的细节保留能力

Z-Image-GGUF效果实测&#xff1a;1024x1024输出在打印A3海报时的细节保留能力 1. 引言 最近在帮朋友设计一个线下活动的宣传海报&#xff0c;对方要求是A3尺寸&#xff0c;需要一张足够清晰、细节丰富的背景图。我试了几个常见的文生图模型&#xff0c;要么分辨率不够&#…...

CLIP ViT-H-14图文对话增强应用:结合LLM构建多模态问答系统

CLIP ViT-H-14图文对话增强应用&#xff1a;结合LLM构建多模态问答系统 1. 项目概述 在当今内容爆炸的时代&#xff0c;如何让机器真正理解图像内容并与人类进行自然对话&#xff0c;一直是AI领域的重要挑战。CLIP ViT-H-14图像编码服务为解决这一难题提供了强大工具。本文将…...

SiameseUIE在金融文档处理中的应用:实体识别与事件抽取实战案例

SiameseUIE在金融文档处理中的应用&#xff1a;实体识别与事件抽取实战案例 1. 引言&#xff1a;金融文档处理的挑战与机遇 金融行业每天产生海量的文档数据&#xff0c;从财报公告到风险报告&#xff0c;从合同协议到新闻资讯。这些文档中蕴含着大量有价值的信息&#xff0c…...

VideoAgentTrek-ScreenFilter一文详解:best.pt模型量化为FP16提升推理速度35%

VideoAgentTrek-ScreenFilter一文详解&#xff1a;best.pt模型量化为FP16提升推理速度35% 1. 引言&#xff1a;当目标检测遇上视频流 想象一下&#xff0c;你手头有一段视频&#xff0c;需要快速、准确地找出其中所有包含屏幕&#xff08;比如电脑显示器、手机、电视&#xf…...

SiameseUniNLU效果实测:中文商品评论中‘品牌-功能-体验’三维属性情感抽取成果

SiameseUniNLU效果实测&#xff1a;中文商品评论中‘品牌-功能-体验’三维属性情感抽取成果 1. 项目背景与模型介绍 在电商平台的海量商品评论中&#xff0c;用户往往同时表达对品牌、产品功能和实际体验的多维度感受。传统的情感分析方法通常只能判断整体情感倾向&#xff0…...

FLUX.小红书极致真实V2开源模型:支持商用授权的本地化图像生成方案

FLUX.小红书极致真实V2开源模型&#xff1a;支持商用授权的本地化图像生成方案 1. 项目简介 FLUX.小红书极致真实V2是一个基于FLUX.1-dev模型和小红书极致真实V2 LoRA开发的本地图像生成工具。这个方案专门针对消费级显卡进行了深度优化&#xff0c;让你在普通硬件上也能生成…...

STEP3-VL-10B实战案例:将PDF扫描件转为可编辑Word,保留公式与图表结构

STEP3-VL-10B实战案例&#xff1a;将PDF扫描件转为可编辑Word&#xff0c;保留公式与图表结构 你是不是经常遇到这样的烦恼&#xff1f;收到一份PDF格式的学术论文或者技术报告&#xff0c;里面全是扫描的图片&#xff0c;想要编辑里面的文字&#xff0c;却发现根本没法直接复…...

PP-DocLayoutV3效果展示:报纸版面自动分离标题/正文/图片/广告区案例集

PP-DocLayoutV3效果展示&#xff1a;报纸版面自动分离标题/正文/图片/广告区案例集 1. 引言&#xff1a;当AI学会“读”报纸 想象一下&#xff0c;你面前有一份复杂的报纸版面&#xff0c;上面密密麻麻地排着新闻标题、正文段落、大幅图片和各种广告。如果让你手动把这些元素…...

StructBERT相似度模型实战教程:中文文本嵌入向量维度分析

StructBERT相似度模型实战教程&#xff1a;中文文本嵌入向量维度分析 1. 环境准备与快速部署 想要快速体验StructBERT中文文本相似度模型&#xff1f;这个教程将带你从零开始&#xff0c;一步步搭建完整的模型服务。不需要深厚的机器学习背景&#xff0c;只要跟着操作就能上手…...

SecGPT-14B多场景落地:已应用于网络安全竞赛出题、安全意识培训、攻防演练导调

SecGPT-14B多场景落地&#xff1a;已应用于网络安全竞赛出题、安全意识培训、攻防演练导调 1. 网络安全领域的新助手 在网络安全领域&#xff0c;专业人员经常面临各种挑战&#xff1a;从编写高质量的竞赛题目到设计有效的安全意识培训内容&#xff0c;再到组织复杂的攻防演练…...

【书生·浦语】internlm2-chat-1.8b实战教程:Ollama模型热切换与多版本管理

【书生浦语】internlm2-chat-1.8b实战教程&#xff1a;Ollama模型热切换与多版本管理 1. 快速了解InternLM2-1.8B模型 InternLM2-1.8B是第二代书生浦语系列中的轻量级模型&#xff0c;虽然只有18亿参数&#xff0c;但能力相当出色。这个模型特别适合想要快速上手AI应用的个人…...

伏羲天气预报输出解析:时间序列+极值统计+空间分布结果读取指南

伏羲天气预报输出解析&#xff1a;时间序列极值统计空间分布结果读取指南 1. 引言&#xff1a;从预报生成到结果解读 当你第一次运行伏羲&#xff08;FuXi&#xff09;天气预报模型&#xff0c;看到屏幕上滚动着“预报完成”的提示时&#xff0c;是不是既兴奋又有点迷茫&…...