历史上的今天
返回首页

历史上的今天

今天是:2025年04月20日(星期日)

正在发生

2021年04月20日 | STM32定时器的应用

2021-04-20 来源:eefocus

一: 定时器简介


1:高级定时器 计数方式(向上,向下)、预分频值 1—65532、四通道,输出输入捕获,PWM互补输出

2:普通定时器 计数方式(向上,向下)、预分频值 1—65532、四通道,输出输入捕获

3:基本定时器计数方式(向上 )、预分频值 1—65532、


二:定时器配置方法步骤:


在配置前我们要添加定时器的库函数 stm32f10x_tim.c


1:配置中断向量表

2:配置定时器时钟

3:配置定时器

4:使能定时器

5:使能中断


三:事例分析(定时中断3)


1:配置中断向量表

void NVIC_Configuration(void)

{

NVIC_InitTypeDef NVIC_InitStructure;


NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //定时器中断3中断向量

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);


}


2:配置定时器时钟


RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);


3:配置定时器(初始化)

void TIM_Config(void)



TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

//TIM_OCInitTypeDef TIM_OCInitStructure;

TIM_DeInit(TIM3); //复位定时器

TIM_TimeBaseStructure.TIM_Prescaler = 7200-1;// 时钟预分频数

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // 定时器模式 向上计数

TIM_TimeBaseStructure.TIM_Period = 9999; // 自动重装载寄存器周期的值( 定时时间 ) 累计 0xFFFF


个频率后产生个更新或者中断 ( 也是说定时时间到 )




定时器时间计算:


每次进入中断服务程序间隔时间为((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒


//72000000/7200=10000

//10000/10000=1s




TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1; // 时间分割值

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); // 初始化定时器

TIM_ClearFlag(TIM3,TIM_FLAG_Update); //清除定时器中断标志

TIM_Cmd(TIM3, ENABLE); // 4:使能定时器

TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); // 打开中断 溢出中断 5:使能中断


四:在主函数运行时调用这三个函数对定时器进行配置即可。




五:定时中断函数的执行




TIME3的定时中断函数的执行在中断向量表中,即 stm32f10x_it.c 文件中。


因为使用的函数库版本不同有的stm32f10x_it.c中给出了void TIM3_IRQHandler(void) {}函数,只需要我们添加相应的中断服务程序即可,如果stm32f10x_it.c文件中没有这个函数我们就自己创建一个同名函数即可。


如:


这个例子是判断中断标志位是否溢出来进入中断,如果溢出就执行中断服务子程序,特别要注意的是在中断服务执行前或者执行后一定要清楚中断标志位,以免影响后面中断的进入。


void TIM3_IRQHandler(void)

{


if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)

{

TIM_ClearITPendingBit(TIM3, TIM_FLAG_Update);


GPIO_WriteBit(GPIOE, GPIO_Pin_3, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOE, GPIO_Pin_3)));



}


}


推荐阅读

史海拾趣

FOSLINK公司的发展小趣事

FOSLINK公司自成立以来,始终将技术创新视为企业发展的核心驱动力。在早期,公司专注于研发高性能的电子元器件,如混合积体电路(IC)和单石数位积体电路(ASIC)。通过不断的技术积累和优化,FOSLINK成功推出了多款具有行业领先地位的产品,不仅满足了市场对高质量电子元器件的需求,还引领了行业的技术进步。这一系列的创新成果,使FOSLINK在电子行业中逐渐崭露头角,赢得了众多客户的信赖和好评。

AZM [Arizona Microtek, Inc]公司的发展小趣事

在技术创新的基础上,AZM公司开始积极拓展市场。公司制定了详细的市场拓展计划,通过参加国际电子展会、建立销售网络、开展合作伙伴关系等多种方式,逐步打开了国内外市场。同时,AZM公司注重品牌建设,通过提升产品质量、优化客户服务、加强品牌宣传等手段,逐渐树立了良好的品牌形象。

Amveco Toroidal Power Products公司的发展小趣事

为了进一步扩大市场份额,Amveco公司积极寻求与行业内外的合作伙伴建立战略合作关系。公司与多家知名的电子设备制造商建立了长期稳定的合作关系,为其提供定制化的环形变压器解决方案。此外,公司还通过参加国际电子展会、建立海外销售网络等方式,积极开拓国际市场,实现了业务的全球化布局。

明微公司的发展小趣事

在电子行业中,人才是企业发展的关键因素。明微公司深知这一点,始终将人才队伍建设放在重要位置。公司积极引进优秀人才,建立完善的人才选拔和培养机制。同时,公司还注重员工培训和职业发展规划,为员工提供广阔的发展空间。这些举措使明微公司拥有一支高效、专业的团队,为公司的发展提供了有力的人才保障。

请注意,以上故事均为虚构,旨在为你提供一个关于明微公司在电子行业中发展起来的故事框架。实际发展情况可能因各种因素而有所不同。

Delkin Devices公司的发展小趣事

Delkin Devices深知品质是企业生存和发展的基石。因此,公司始终将品质控制放在重要位置,通过引进先进的生产设备和技术、建立完善的品质管理体系等方式,确保产品质量的稳定性和可靠性。同时,Delkin Devices还注重可持续发展,积极采取环保措施和节能减排技术,努力降低生产过程中的能耗和排放。这些努力不仅提升了公司的品牌形象和竞争力,也为社会和环境的可持续发展做出了积极贡献。

Alpha & Omega Semiconductor(万国半导体)公司的发展小趣事

随着科技的不断进步,Delkin Devices始终保持着对新技术和新产品的敏感度和热情。公司投入大量资源进行技术研发和产品创新,不断推出具有竞争力的新产品。例如,在固态硬盘(SSD)技术兴起的时代,Delkin Devices迅速抓住机遇,成功开发出了一系列高性能、高可靠性的SSD产品,赢得了市场的广泛认可。此外,Delkin Devices还积极拓展产品线,推出了包括读卡器、存储卡等在内的多种存储配件,进一步巩固了其在电子行业中的领先地位。

问答坊 | AI 解惑

散分散分,关于摄像头的问题

哪位大虾有用OV7620,CMOS图像采集传感器做一个摄像头的驱动电路阿? 小弟拜谢了…

查看全部问答>

T264移植到dm642遇到的问题

把从网上下载的T264源码移植到dm642上,过程是这样的 1、直接编译T264 的源码(包括了T264.Pjt和 T264lib.pjt)可以通过,说明程序没有问题 2.加入了DM642的视频硬件文件之后出现了很多问题,有 offset too large       ...…

查看全部问答>

PXA270唤醒后触摸屏、网卡不能工作

各位英雄:     小弟测试平台:PXA270+WINCE5.0,系统休眠唤醒后,发现有几个问题:        1、触摸屏点击无响应,但是键盘有响应。     2、网卡不工作,连接PC时显示网线连接不正常。     ...…

查看全部问答>

微软对于Wince中TCP/IP协议的定义范围~急!急!急!

我刚刚接手开发的手机邮件工作,很多东西都不明白-_-!    微软在Wince5.0 的内核发布中提到,支持TCP/IP协议,没有详细的说明,我想问一下是否包括SMTP和POP3呢?…

查看全部问答>

求STM32浮点数运算的库

最好sin cos tan mpy div这些都有,或者有一个也行,邮箱是yuanye_0073@qq.com,万分感谢啦~!!!…

查看全部问答>

05.31【每日一问】电机调速

临时被抓壮丁,讲个简单点的问题   夏天来了,用风扇的也多了起来,去卖场一看,新产品一大堆,遥控的,无级变速的,自然风睡眠风概念一大堆,比普通的风扇贵了几倍。于是心理气氛,要自己搞个遥控风扇控制器,无级变速。遥控部分好办,变速 ...…

查看全部问答>

allegro 建封装的问题

想问下allegro在建封装的时候,assembly top 边框的尺寸怎么计算啊,silkscreen 边框的尺寸怎么计算? 谢谢…

查看全部问答>

晶振的地线的接法

请教大家一个问题,晶振的地线怎样接不会对其他地线产生干扰?…

查看全部问答>

PID算法问题

用AD采样后,有一个数字量,现在要用PID…

查看全部问答>

MSP430之我见

MSP430被业内称为省电王,对此殊荣当之无愧。通过用MSP430来做产品设计,还有看MSP430的芯片手册,明显的感觉TI将电源管理系统做到极致。极大的砍掉了不同模式、功能下多余的硬件耗能模块,极大地砍掉了不同模块、功能下必须保留的硬件模块的多余耗 ...…

查看全部问答>