历史上的今天
返回首页

历史上的今天

今天是:2025年03月30日(星期日)

正在发生

2021年03月30日 | STM32如何设置定时器

2021-03-30 来源:eefocus

STM32如何设置定时器


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


第一种


对定时器的基本配置


TIM_TimeBaseStructure.TIM_Period = 1000; //设置自动装载寄存器


TIM_TimeBaseStructure.TIM_Prescaler = 35999; //分频计数


TIM_TimeBaseStructure.TIM_ClockDivision = 0;


TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //选择向上计数


TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);


TIM_Cmd(TIM2, ENABLE); //是能定时器


始能定时器的中断:


TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);


在开启时钟里一定要打开TIM2的时钟,函数表达式如下:


RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);


4:中断向量函数的编写:


void NVIC_Configuration(void)


{


NVIC_InitTypeDef NVIC_InitStructure;


#ifdef VECT_TAB_RAM //如果程序在ram中调试那么定义中断向量表在Ram中否则在Flash中


/* Set the Vector Table base location at 0x20000000 */


NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);


#else /* VECT_TAB_FLASH */


/* Set the Vector Table base location at 0x08000000 */


NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);


#endif


/* Enable the TIM2 global Interrupt */


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)


按照以上步骤配置可以顺利进行定时器的基本定时应用


第二种方法:


/* Enable TIM2 Update interrupt [TIM2溢出中断允许]*/


TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE);


中断中的设置为:


if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)


推荐阅读

史海拾趣

Anderson Power公司的发展小趣事

Anderson Power是一家专注于电源连接器和配件制造的公司,以下是该公司发展的相关故事:

  1. 公司成立与初期阶段:Anderson Power成立于1953年,总部位于美国马萨诸塞州斯特林。最初,公司主要从事电源连接器的制造和销售。公司的创始人是William E. Anderson,他在创立公司之初便致力于提供高质量、可靠的连接器产品,满足不断增长的市场需求。

  2. 技术创新与产品发展:随着市场的需求不断增长,Anderson Power不断进行技术创新和产品开发,推出了一系列新型的电源连接器和配件产品。公司在连接器设计和制造方面拥有丰富的经验和专业知识,能够根据客户的需求定制各种类型的连接器产品。

  3. 客户合作与市场拓展:Anderson Power与全球各个行业的客户建立了长期稳定的合作关系。公司的客户群涵盖了汽车、航空航天、工业、能源等多个领域。通过与客户的紧密合作,Anderson Power不断拓展市场份额,提升品牌知名度,成为电源连接器领域的领先供应商之一。

  4. 全球布局与生产基地:为了更好地服务全球客户,Anderson Power在全球建立了多个生产基地和销售办事处。除了在美国的总部外,公司还在欧洲、亚洲等地区设立了生产工厂和销售办事处,以满足不同地区客户的需求。这些生产基地拥有先进的设备和技术,能够为客户提供高质量的连接器产品。

  5. 持续发展与未来展望:作为一家专注于电源连接器的公司,Anderson Power将继续致力于技术创新和产品发展。公司将不断推出适应市场需求的新产品,提升生产效率和产品质量,以满足客户不断变化的需求。同时,Anderson Power也将继续关注行业的发展趋势和技术变革,不断调整战略,保持在行业内的竞争优势。

Bombardier Inc公司的发展小趣事

庞巴迪公司的起源可以追溯到蒙特利尔的一家机械厂,该公司在第一次世界大战期间开始涉足军工制造,为英国组装H级潜艇。随着战争的结束,庞巴迪逐渐将业务转向了航空领域。1923年,公司开始设计并生产水上飞机,这些飞机被装备于1924年成立的加拿大皇家空军。这一时期,庞巴迪在航空电子设备的设计和制造上取得了显著的进步,为其后续的航空业务发展奠定了坚实的基础。

Agilent Technologies公司的发展小趣事

进入20世纪中叶,庞巴迪公司在航空领域的业务持续扩大。其生产的PBV-1A水上巡逻机,不仅装备了加拿大空军,还出口到美国海军。这一时期,庞巴迪在航空电子系统的集成和创新上取得了重要突破,提高了飞机的性能和安全性。这些技术进步使得庞巴迪在全球航空领域树立了良好的声誉。

Advance Tapes公司的发展小趣事

随着环保意识的日益增强,电子行业对环保材料的需求也越来越大。Advance Tapes公司积极响应国家环保政策,致力于研发环保型胶带产品。通过采用环保材料和生产工艺,减少了对环境的污染和资源的浪费。同时,公司还加强了对废弃胶带产品的回收和处理工作,实现了资源的循环利用。这些举措不仅提升了Advance Tapes的企业形象,也为公司的可持续发展奠定了坚实基础。

以上是基于已知信息构建的关于Advance Tapes在电子行业中可能的发展故事。然而,这些故事并非真实的历史记录,仅用于展示该公司可能的发展路径和面临的挑战。如需了解更多关于Advance Tapes公司的真实发展历程和故事,建议查阅相关文献资料或访问公司官网。

E-T-A Circuit Breakers公司的发展小趣事

进入21世纪后,E-T-A公司继续加大在研发和技术创新方面的投入,推出了一系列智能电路保护解决方案。这些解决方案结合了先进的传感器技术、数据分析和人工智能技术,能够实时监测电气系统的运行状态,预测潜在风险,并提供智能化的保护和控制策略。这些创新产品不仅提高了电气系统的安全性和可靠性,也为客户带来了更高的经济效益和社会效益。

AC Photonics Inc公司的发展小趣事

AC Photonics Inc公司自成立以来,一直致力于光电技术的研发与应用。在公司成立初期,研发团队在光子集成技术上取得了重大突破,成功开发出一种高效、稳定的光电转换器。这一技术的问世,不仅提升了数据传输的速度和稳定性,还大大降低了能耗,为公司的业务发展奠定了坚实的基础。随着这一技术的逐步推广和应用,AC Photonics Inc在电子行业中逐渐崭露头角。

问答坊 | AI 解惑

PROTEL 仿真求助

仿真时出现以下错误!不知道怎么设置!请各位帮助! U1 Error: Pin order data (PINS=1:[]) not in READ ONLY field 4. Pins sorted by pin-name. U1 Error: Part type must be entered in READ ONLY field 1: type=() U1 Error: Netlist data m ...…

查看全部问答>

【藏书阁】电子元件基础知识

PPT   36页 课题:电子元件基础知识 内容: 1.基本术语的概念; 2.电阻、电容的辨别; 3.其它常用元件(二极管、三极管、电感、变压器等)的感官认识;…

查看全部问答>

求助:各位大哥帮我看看这个 PWM 问题,好吗?谢谢!

请教: 我想用 PWM 输出占空比变化的电压 见附件 资料上还有一段话: CPS2/CPS1/CPS0 = 1/0/0 时,PCA/PWM 的时钟源是 Fosc, 不用 Timer0, PWM 的频率为 Fosc/256,如果使用系统时钟 /3 来作为 PCA 的时钟源,应让 T0 工作在 1T 模式, 记数 3 个 ...…

查看全部问答>

EVC里怎么对事件进行调试?

小弟遇到一个问题,在一个线程里等待一个自动复位事件,在调试这个线程的时候,怎么假设该事件发生让程序继续执行?谢谢高手回答…

查看全部问答>

一个POOM的问题

我用POOM把outlook里日历中显示的约会信息全读出来了(我想备份约会,不知道只备份这点行不行).但有个问题: 1   里面的attendees有两项,一个必需 一个可选.在读出来的时候并没有分这两项,而且写回去的时候好象也没分吧,那么我该怎么区分它 ...…

查看全部问答>

有谁知道 中磊(苏州)研发中心!!!!

谁知道中磊研发中心 硬件工程师的笔试题目? 做过的  小弟想看看…

查看全部问答>

用过ADS7822的朋友请进

ADS7822的供电电压为5.05v,基准电压为电源电压,输入为0.6v-3V,在1V以内采集值和输入电压对应的很好,超过1V采集值就不准了,输入的电压越大,偏离值越多,高出60多个(12位 0-4095),0.6v-3V之间采集1000个点,请有经验的朋友给予指点.谢谢!…

查看全部问答>

PIC单片机C语言例程

分享一下我知道的PIC单片机C语言例程,供有需要的朋友参考。 [ 本帖最后由 烟雨 于 2011-2-23 08:29 编辑 ]…

查看全部问答>

对于的彩屏的驱动感想

51单片机控制彩色LCD的最佳方案 单片机可以通过发送简单的指令控制智能彩色显示器显示图 片(BMP,JPEG),中英文字符,画圆画直线等等. 是用单片机做人机界 面理想的选择,是单片机控制彩色大LCD的最佳选择     在嵌入式中驱动TFT屏, ...…

查看全部问答>

求助!!

公司有一款Mini6410+4.3\"LCD  友善之臂开发板 想那来学习,可是小弟只玩过单片机  arm零基础, 配套的光盘资料打不开! 不知道如何下手,求前辈指点  或能否提供相关入门资料! 谢谢!!…

查看全部问答>