历史上的今天
返回首页

历史上的今天

今天是:2025年07月23日(星期三)

正在发生

2018年07月23日 | 以stm32的TIM2作为实例一步步配置成为定时器

2018-07-23 来源:eefocus

下面以stm32的TIM2作为实例一步步配置成为定时器:

 
1:对定时器的基本配置
 
   TIM_TimeBaseStructure.TIM_Period = 65535;   //设置自动装载寄存器       
 
   TIM_TimeBaseStructure.TIM_Prescaler = 100;   //分频计数    
 
   TIM_TimeBaseStructure.TIM_ClockDivision = 0;   
 
   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;   //选择向上计数
 
       TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
 
       TIM_Cmd(TIM2, ENABLE);   //是能定时器
 
2:始能定时器的中断:
 
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
 
注意:
 
以上函数中的TIM_IT_Updata根据要是能的中断具体配置
 
 
3:在开启时钟里一定要打开TIM2的时钟,函数表达式如下:
 
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
 
4:中断向量函数的编写:
 
void NVIC_Configuration(void)
 
{
 
   NVIC_InitTypeDef NVIC_InitStructure;
 
 
#ifdef   VECT_TAB_RAM   //如果程序在ram中调试那么定义中断向量表在Ram中否则在Flash中
 
   NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
 
#else  
 
    NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);  
 
#endif
 
    NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
 
   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
 
   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
 
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
 
   NVIC_Init(&NVIC_InitStructure);
 
}
 
5:中断函数的编写:
 
当有TIM2的无论哪个中断触发中断发生那么就会进入这个函数
 
TIM2_IRQHandler(void)
 
所以这个更新事件的中断判断要依靠以下语句:
 
if (TIM_GetITStatus(TIM2, TIM_IT_Update) = SET)
 
 
按照以上步骤配置可以顺利进行定时器的基本定时应用


推荐阅读

史海拾趣

E-Z-HOOK公司的发展小趣事

在1956年的一个晴朗午后,E-Z-HOOK的创始人阿尔伯特·史密斯(化名)在实验室里遇到了一个棘手的问题。他正在测试一个复杂的电子系统,但发现现有的测试工具无法满足他的需求。于是,他动手设计并制造出了第一个E-Z-HOOK测试钩,这个简单但实用的工具极大地方便了他的工作。史密斯看到了这个产品的巨大潜力,于是决定成立一家公司来专门生产这种测试钩。这就是E-Z-HOOK公司的起源。

Gustav Klauke GmbH公司的发展小趣事

在1956年的一个晴朗午后,E-Z-HOOK的创始人阿尔伯特·史密斯(化名)在实验室里遇到了一个棘手的问题。他正在测试一个复杂的电子系统,但发现现有的测试工具无法满足他的需求。于是,他动手设计并制造出了第一个E-Z-HOOK测试钩,这个简单但实用的工具极大地方便了他的工作。史密斯看到了这个产品的巨大潜力,于是决定成立一家公司来专门生产这种测试钩。这就是E-Z-HOOK公司的起源。

安碁科技(AKER)公司的发展小趣事

安碁科技在发展过程中,积极寻求与高校、研究机构的合作,以推动技术创新和人才培养。例如,2009年,公司与逢甲大学进行产学合作,共同研发超小型石英振动子。这种合作模式不仅为公司带来了先进的技术和研发资源,也促进了产学研之间的紧密合作和共同发展。此外,安碁科技还不断拓展业务领域,从石英振荡器逐步扩展到汽车电子、工业控制、消费电子等多个领域,实现了业务的多元化发展。

Ferraz Shawmut(Mersen)公司的发展小趣事

Ferraz Shawmut一直致力于技术创新和产品研发。通过不断的技术创新,公司推出了多款具有竞争力的电气保护产品,如熔断器、保险丝等。同时,公司也积极拓展全球市场,目前在全球拥有60个下属企业,6200名雇员,产品远销世界各地。

Cal Crystal Lab Inc / Comclok Inc公司的发展小趣事

随着电子行业的快速发展,技术创新和合作成为了企业发展的重要驱动力。Cal Crystal Lab Inc深知这一点,积极寻求与其他企业的技术合作。通过与国内外知名高校和研究机构的深入合作,公司不断引进新技术、新工艺,提升了产品的技术含量和附加值。同时,Cal Crystal Lab Inc还与其他企业建立了战略合作关系,共同开发新产品、拓展新市场,实现了共赢发展。

CUI公司的发展小趣事

在电子行业的初期,CUI技术的应用受限于其导电性能和稳定性。然而,随着科研人员的不断努力,新型的CUI材料逐渐问世,它们不仅导电性能优良,而且能够抵御各种环境因素的影响。与此同时,市场对于小型化、高集成度的电子产品需求日益增长,CUI技术因其能够在狭小空间内实现高效电路连接而备受青睐。

问答坊 | AI 解惑

09年大赛征题原件

本帖最后由 paulhyde 于 2014-9-15 09:08 编辑 09年大赛征题原件  …

查看全部问答>

三菱功率模块主要应用

三菱功率模块主要应用,欢迎下载!…

查看全部问答>

修改内核函数遇到问题

KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);           关闭写保护                     fun_addr = 0x90;    //fun_ ...…

查看全部问答>

MultiByteToWideChar困惑!!!!!!!!!!SOS!!!!!!!

MultiByteToWideChar(CP_UTF8,0,\"ABCD\",-1,outPutUtf16,512);   出错,outPutUtf16中内容为空 MultiByteToWideChar(CP_ACP,0,\"ABCD\",-1,outPutUtf16,512);    正确,outPutUtf16中内容为\"ABCD\" 为何 ? 我想是不是WinC ...…

查看全部问答>

求DAC5573中文资料

本帖最后由 dontium 于 2015-1-23 13:11 编辑 用MCU通过I2C与DAC5573通信,DAC5573无输出。 …

查看全部问答>

ucos比较迷茫的问题

近一段时间在看ucos,有一点一直不明白,就是在ucos中怎样使用单片机的中断??时钟节拍中断用汇编写的,难道其他所有中断都需要在启动文件中用汇编写吗???请高手指点!!!!…

查看全部问答>

板子到啦!

谢谢eeworld!   手机有点老像素不好      还有张字条。…

查看全部问答>

【晒样片】+ 之订单审核中

【晒样片】+ 之订单审核中,不知道能不能通过,还在审核中。个人信息做了处理,请谅解。 …

查看全部问答>

晒WEBENCH设计的过程+双电源运放供电

    尽管单电源运放已经占据了很大市场,但某些应用还必须双电源运放才能解决。在设计一款压力/拉力传感器信号调理的过程中遇到双电源供电的运放,借助WEBENCH来设计一下电源。输入DC+10~14V,输出±10V,100mA。进入WEBENCH设计:http:/ ...…

查看全部问答>