历史上的今天
返回首页

历史上的今天

今天是:2024年12月21日(星期六)

2018年12月21日 | STM32初识——通用定时器配置

2018-12-21 来源:eefocus

通用定时器的益处时间

 Tout= ((arr+1)*(psc+1))/Tclk;



TIM3时钟使能

TIM3 是挂载在 APB1 之下,所以我们通过 APB1 总线下的时钟使能函数来使能 TIM3。调用的函数是:

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能



初始化定时器参数,设置自动重装值,分频系数,计数方式。

在库函数中,定时器的初始化参数是通过初始化函数 TIM_TimeBaseInit 实现的:

voidTIM_TimeBaseInit(TIM_TypeDef*TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);

第一个参数是确定是哪个定时器,这个比较容易理解。第二个参数是定时器初始化参数结构体指针,结构体类型为 TIM_TimeBaseInitTypeDef

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_TimeBaseStructure.TIM_Period = 5000;//设置自动重载计数周期值

TIM_TimeBaseStructure.TIM_Prescaler =7199;//参数 TIM_Prescaler是用来设置分频系数的

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;//设置时钟分频因子

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//参数 TIM_CounterMode 是用来设置计数方式

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);



设置TIM3_DIER允许更新中断。

因为我们要使用TIM3的更新中断,寄存器的相应位便可使能更新中断。在库函数里面定时器中断使能是通过 TIM_ITConfig 函数来实现的:

void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState);

第一个参数是选择定时器号,这个容易理解,取值为 TIM1~TIM17。

第二个参数非常关键,是用来指明我们使能的定时器中断的类型,定时器中断的类型有很多种,包括更新中断TIM_IT_Update触发中断TIM_IT_Trigger以及输入捕获中断等等。

第三个参数就很简单了,就是失能还是使能。



TIM3中断优先级设置。

在定时器中断使能之后,因为要产生中断,必不可少的要设置 NVIC 相关寄存器,设置中

断优先级。



使能TIM3 。

光配置好定时器还不行,没有开启定时器,照样不能用。我们在配置完后要开启定时器,通过TIM3_CR1的CEN位来设置。在固件库里面使能定时器的函数是通过TIM_Cmd函数来实现的:

void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState)



编写中断服务函数。



读取中断状态寄存器的值判断中断类型的函数

ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t)

该函数的作用是,判断定时器TIMx的中断类型TIM_IT是否发生中断if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET){}



固件库中清除中断标志位的函数

void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT)

该函数的作用是,清除定时器 TIMx 的中断 TIM_IT 标志位。TIM_ClearITPendingBit(TIM3, TIM_IT_Update );



推荐阅读

史海拾趣

顺芯(Everest-semi)公司的发展小趣事

在技术创新的同时,顺芯公司也注重市场拓展和品牌建立。公司积极参加国内外各类展会和论坛,与潜在客户和合作伙伴建立了广泛的联系。同时,顺芯公司还加强了与渠道商的合作,提高了产品的市场覆盖率。通过一系列的市场推广活动,顺芯公司的品牌知名度和美誉度逐渐提升。

BCD Semi(Diodes)公司的发展小趣事

在追求经济效益的同时,BCD Semi(Diodes)公司也积极履行企业社会责任,关注可持续发展。公司严格遵守环保法规,采用环保材料和工艺,减少生产过程中的污染排放。同时,公司还积极参与社会公益事业,为当地社区的发展做出贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

请注意,以上故事是基于电子行业的一般情况和BCD Semi(Diodes)公司的行业地位构建的,并非真实发生的历史事件。如需了解BCD Semi(Diodes)公司的真实发展故事,建议查阅公司官方发布的资料或相关新闻报道。

Eris Technology Corp公司的发展小趣事

在汽车电子市场取得成功后,Eris Tech开始将目光投向工业控制领域。通过深入了解工业控制市场的需求和技术特点,公司成功开发出多款适用于工业控制领域的半导体产品。这些产品不仅具有高性能、高可靠性等特点,还能满足工业控制领域对实时性、安全性等方面的要求。随着工业控制领域的不断拓展,Eris Tech在该领域的市场份额也逐渐增加。

远阳(FLYOUNG)公司的发展小趣事

国光新业在深耕国内市场的同时,也积极拓展海外市场。公司的电容器产品凭借其优异的性能与可靠的质量,赢得了国内外众多客户的信赖与好评。随着品牌影响力的不断提升,国光新业已成为电子元器件行业中的佼佼者。未来,公司将继续坚持创新驱动发展战略,不断提升产品与服务的品质与竞争力,致力于成为具有国际竞争力的电子元器件供应商。

Bud Industries公司的发展小趣事

人才是企业发展的根本。国光新业深知这一点,因此始终注重人才的引进与培养。公司推出了“国新力”人才计划专项,构建了一支优秀人才梯队。目前,企业的技术团队中科技人员占比超过30%,其中拥有工程师以上职称的比例更是超过六成。这些高素质的人才为公司的技术创新与产品研发提供了源源不断的动力。

ebm-papst公司的发展小趣事

ebm-papst一直致力于通风和驱动技术的研发与创新。在中国市场,公司针对数据中心等特定应用场景,推出了革命性的创新产品——“数据中心列间空调用轴流风机”。该产品凭借其独特的设计和优异的性能,荣获了2022年中国制冷展创新产品奖。这一技术创新不仅解决了数据中心散热的难题,也进一步巩固了ebm-papst在通风与驱动技术领域的领先地位。

问答坊 | AI 解惑

有关于运放的知识

本帖最后由 paulhyde 于 2014-9-15 09:37 编辑 一些用过的运放芯片资料和运放使用技巧~~~  …

查看全部问答>

请教下图中触摸原理

s3为人手按键位置,请问工作原理?…

查看全部问答>

变频器学习

本帖最后由 paulhyde 于 2014-9-15 03:21 编辑    …

查看全部问答>

高分急求带FIFO UART源程序!!!

小妹刚接触VHDL语言不久,求一个带FIFO UART源程序,FIFO:  8位 深度:16,求各位给个源程序,急用,谢谢!…

查看全部问答>

verilog基本语法问题连接符用法讨论

input [1:0] in; //定义输入是2位的数据output [1:0] out; //定义输出是2位的数据reg [1:0] out;....out={out,in}; //使用拼接符输入和输出都是2位的,把它们拼接在一起的值赋给输出端,结果是怎样的?比如呢? verilog 采用的截断方式,所有结果 ...…

查看全部问答>

申请开发板做CAN2NET网关

在Keil环境下完成网络和CAN的协议解析和数据转换,实现CAN数据采集自动向网络发送,以及通过网络采集CAN口的数据,类似于串口转网络的功能,并实现PC机配置软件完成各种工作参数的配置和数据监控。…

查看全部问答>

请教:uart、can、Eth等通信接口配置好后,如何通过软件查询其是否工作正常?

本人最近用 LM3S 9B81做一个项目,需要随时应答 上位机发送的 各个端口状态查询信息,请问 假如没有数据收发,我如何反应出 各个通信端口状态是正常的呢?谢谢…

查看全部问答>

求交流假电子负载方案

现在准备电子设计竞赛,做一个电子假负载的题目,开始直流模式下的恒流恒压横阻模式已完成,但负载不能进交流,求各路大神提供一下能进交流的电子负载原理电路或方案,要测量交流电源内阻的……小弟在此谢过了。。。谢谢!做了差不多3个星期了,没想 ...…

查看全部问答>

调试LPC1769工程的时候出现的问题

最近在弄一块LPC1769的板子,在刚开始建工程的时候遇到点麻烦,试了好久,在网上也找了好多资料也没解决 ,请各位大侠帮忙看看。在添加进一个工程调试时出现了如下问题: 工程代码为: #include \"LPC17xx.h\" #include #include __CRP cons ...…

查看全部问答>

数字电压表数码管显示

------------------------------------------------------------------------------------ Company: -- Engineer: -- -- Create Date:    10:42:01 04/22/2012 -- Design Name: -- Module Name:    top1 - Behaviora ...…

查看全部问答>