历史上的今天
返回首页

历史上的今天

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

正在发生

2019年04月11日 | STM32定时器中断-库函数

2019-04-11 来源:eefocus

程序要求:通过定时器中断配置,每500ms中断一次,然后中断服务函数中控制LED实现LED1状态取反


下面给出几个主要文件的程序模板


timer.h:

 


#ifndef __TIMER_H

#define __TIMER_H

#include "sys.h"

 

void TIM3_init(u16 arr, u16 psc);

 

#endif

 

 


timer.c


#include "timer.h"

#include "led.h"

 

//tim的相关函数去stm32f4xx_tim.h中去找

 

void TIM3_init(u16 arr, u16 psc)

{

    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;

    NVIC_InitTypeDef NVIC_InitStructure;

 

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

 

    TIM_TimeBaseInitStructure.TIM_Prescaler = psc; //预分频系数=psc

    TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //计数模式

    TIM_TimeBaseInitStructure.TIM_Period = arr; //自动装载值=arr

    TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; //(这里没有太大作用)

    TIM_TimeBaseInit(TIM3, &TIM_TimeBaseInitStructure); //初始化定时器,配置ARR,PSR

 

    TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); //开启中断(定时器3,更新中断,ENABLE),使能定时器3的更新中断

 

    NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //定时器x中断

    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x03; //子优先级3

    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x01; //抢占优先级1

    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

    NVIC_Init(&NVIC_InitStructure); //开启定时器中断,配置NVIC

 

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

 

}

 

 

void TIM3_IRQHandler(void) //编写中断服务函数

{

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

    {

        LED1 = !LED1;

        TIM_ClearITPendingBit(TIM3, TIM_IT_Update);

    }

}

 

 


main.c


#include "led.h"

#include "sys.h"

#include "usart.h"

#include "delay.h"

#include "timer.h"

 

//通过定时器中断配置,每500ms中断一次,然后中断服务函数中控制LED实现LED1状态取反

int main()

{

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

delay_init(168);

LED_Init();

TIM3_init(5000-1, 8400-1);

//溢出时间(Tout)的计算=(arr+1)*(psc+1)/Tclk

//Tclk是定时器预分频前的时钟,是APB1的时钟经过倍频1/2后得到

//f(频率)=Tclk/(psc+1)

//T(周期)=1/f=(psc+1)/Tclk

//Tout(溢出时间)=(arr+1)*T

while (1) 

{

LED0 = !LED0;

delay_ms(200);

}


}


推荐阅读

史海拾趣

EBG RESISTORS LLC公司的发展小趣事

作为一家有社会责任感的企业,EBG RESISTORS LLC公司积极履行环保责任。他们采用环保材料和生产工艺,减少生产过程中的废弃物排放。同时,公司还积极参与公益活动,回馈社会。这种负责任的态度赢得了客户和社会的广泛赞誉。

鑫雁公司的发展小趣事

聚洵半导体始终坚持以市场为导向、以创新为驱动的发展理念。公司不断加大新产品研发投入,致力于在低功耗运放、高速运放、仪表放大器等领域取得更多技术突破。同时,聚洵还积极关注行业动态和市场趋势,针对医疗电子、工业控制、汽车电子等新兴领域推出了一系列创新产品。展望未来,聚洵将继续保持专注和创新精神,致力于成为国内领先的信号链模拟芯片设计公司之一,为电子行业的发展贡献更多力量。

Astron Wireless Technologies Inc公司的发展小趣事

随着公司的发展,Astron Wireless Technologies Inc开始寻求与其他行业的领军企业建立战略合作关系。通过与一家知名通信设备制造商的合作,公司成功将其无线通信技术集成到了对方的产品中,从而进一步扩大了市场份额。这一合作不仅提升了公司的知名度,还为公司带来了稳定的收入来源。

GSME Electronics公司的发展小趣事

在半导体行业,技术创新是企业持续发展的关键。GSME Electronics深知这一点,不断加大研发投入,提升公司的研发实力。公司拥有一支朝气蓬勃的高素质员工团队,他们致力于新产品的开发和旧产品的升级换代。通过不断的技术创新和研发努力,GSME Electronics在半导体器件领域取得了多项技术突破,为公司的发展注入了新的动力。

福建国光公司的发展小趣事

GSME Electronics的起点可以追溯到2001年,当时公司在广西桂林市成立,作为桂林国家高新区的高新技术企业。初期,公司面临着技术设备落后的挑战,但管理层高瞻远瞩,决定从日本、韩国、欧美等国家引进具有国际先进水平的自动化生产设备。这一决策为公司后续的发展奠定了坚实的基础,使得公司能够快速进入半导体器件的生产领域,并不断提升产品质量和生产效率。

CYMBET公司的发展小趣事

随着EnerChip技术的不断完善和市场的认可,CYMBET公司开始积极拓展市场,与全球各地的合作伙伴建立了紧密的合作关系。例如,CYMBET与Digi-Key Corporation签订了全球经销协议,通过Digi-Key的广泛分销网络,EnerChip系列固态可充电薄膜电池及能量采集储能模块得以迅速进入全球市场。此外,CYMBET还与多家知名电子设备制造商建立了长期合作关系,共同开发新产品,推动电子行业的发展。

问答坊 | AI 解惑

这个板块还缺点什么话题?

现在个人能够想到的就是这些啦,可能还是受到了很多的限制,自己了解的有限,以后也主要是弄这一块的,这个板块你希望还看到什么话题,希望找到什么的,我们会尽量满足,大家提提,还有这么多的版主一定能够解决你的疑问的!…

查看全部问答>

iPod shuffle拆解

看到DIY示波器的礼品是Shuffle,眼馋了好一阵子呢,看到了一篇文章,给大伙看看,实际上,别看外观那么好话,拆解完也没啥(吃不着葡萄说下葡萄酸),嘿嘿 第1页:跟U盘一样大 新iPod shuffle曝光 苹果昨天发布了第三代iPod shuffle超迷你音乐播 ...…

查看全部问答>

滤波器设计资料集锦

滤波器设计资料集锦 …

查看全部问答>

wince6.0 模拟器的问题

自己编了个wince 6.0的模拟器,下载了一个flash播放器,在开发板的真实硬件环境可以跑起来并且运行flash,但是在模拟器上只能运行flash播放器,无法运行flash文件,请问是不是需要什么库或者组件的支持?谢谢!!…

查看全部问答>

驱动程序里可以使用STL吗

我的虚拟打印机里用到gzip压缩算法,现在一个gzip算法代码,用到了STL类:如vector, 我如何把该算法代码编译到驱动程序里?…

查看全部问答>

LM3S8962 评估套件开发板申请

非常期待能够申请到板子。我是深圳清华研究院电子信息研究所的,最近所里有物联网的项目研究,这要是智能家居部分,看看能不能用这块板子作为开发平台 [ 本帖最后由 fqzxw 于 2010-10-18 09:56 编辑 ]…

查看全部问答>

请教单片机和液晶驱动的问题?

问题1。STC单片机的复位键按上后无反应,是不是我电路有错? 问题2。 液晶驱动芯片是HT1621B ,上电后屏微亮,是什么原因呢?电压不够吗?  …

查看全部问答>

:)小弟初次用STM32做的板子,请高人看看如何才能做到8位机的

小弟年前匆匆忙忙帮朋友做的小东西, 当时还没完工时的照片. 请大家看看是否做到了类似配置的8位机的成本:     6 开关量输入    6 继电器接点出    6&n ...…

查看全部问答>