历史上的今天
返回首页

历史上的今天

今天是:2025年01月15日(星期三)

正在发生

2021年01月15日 | STM32_TIM延时讲解

2021-01-15 来源:eefocus

今天讲解STM32F103定时器延时功能,TIM的功能很强大,后续慢慢讲解。今天从简单开始讲解定时器,以下面软件工程实例来讲述。

 

软件工程下载地址(360云盘):

https://yunpan.cn/cP5utM7kxIReM   访问密码 6f12

 

工程现象:间隔(定时器延时)500ms LED变化一次, 并且串口打印

 

STM32F103ZE有8个定时器(TIM1 – TIM8), 这里工程使用TIM4为例。

 

STM32F10x的资料可以在我360云盘下载:

https://yunpan.cn/crBUdUGdYKam2  访问密码 ca90

 

 

关于TIM延时,我把重要的几点在下面分别讲述,工程中没有在这里讲述的请关注微信公众号“EmbeddDeveloper”查阅或留言。

现将重点讲述关于TIM延时的几点内容。

 

一、定时器时钟




这里的“时钟配置”函数在bsp.c文件下面;

使能时钟:RCC_APB1Periph_TIM4。


二、定时器配置


 

函数在timer.c文件下面;

详见每一句后面都有注释。

 

三、延时函数


函数在timer.c文件下面;

主要是延时函数,至于为什么是延时10us,这里开始学习的人可能不能理解。

大致意思:TIM每秒计数1M次(系统时钟72M,  72分频),计数满10次一个周期,也就是1usX 10 = 10us

见timer.h里面的宏定义:TIM4_COUNTER_CLOCK、TIM4_PRESCALER_VALUE、TIM4_PERIOD_TIMING

由这几个宏定义决定延时时间。

 

四、主函数应用


 

函数在main.c文件下面;

(定时器)延时500ms跳变LED、打印(发送)字符串。


推荐阅读

史海拾趣

FREESCALE (NXP)公司的发展小趣事

FREESCALE (NXP) 公司发展的五个故事

故事一:从摩托罗拉剥离到独立上市

FREESCALE的前身可以追溯到摩托罗拉的半导体部门。2002年,面对半导体业务的持续亏损,摩托罗拉集团决定剥离该部门。2004年,摩托罗拉半导体产品事业部正式更名为FREESCALE半导体公司,并在次年成功上市。这一剥离与上市过程标志着FREESCALE作为一个独立实体的诞生,为其后续的发展奠定了基础。独立后的FREESCALE迅速调整战略,专注于嵌入式电子解决方案,特别是在汽车电子、工业控制等领域取得了显著成就。

故事二:与恩智浦(NXP)的合并

2015年,FREESCALE与另一家半导体巨头恩智浦(NXP)达成合并协议,这是半导体行业内的一次重大整合。合并后的公司成为全球最大的汽车半导体供应商之一,并在多个关键技术领域占据领先地位。此次合并不仅增强了双方的市场竞争力,还促进了资源共享和技术创新,为未来的增长开辟了更广阔的空间。合并后的公司在全球范围内拥有更强大的研发和销售网络,能够更好地服务于全球客户。

故事三:从亏损到盈利的转型

在成为独立公司之前,FREESCALE的前身——摩托罗拉的半导体部门曾长期面临亏损困境。然而,在剥离并独立运营后,FREESCALE通过一系列战略调整和市场拓展措施,成功实现了从亏损到盈利的转型。公司注重技术创新和产品研发,不断推出符合市场需求的新产品,同时加强与客户和合作伙伴的合作,共同推动行业发展。这些努力使得FREESCALE在激烈的市场竞争中脱颖而出,成为半导体行业的佼佼者。

故事四:技术创新的引领者

FREESCALE一直致力于技术创新,不断推动半导体技术的进步。公司在嵌入式处理器、模拟芯片、射频芯片等多个领域拥有深厚的技术积累和丰富的产品线。例如,FREESCALE推出的基于Arm Cortex-M系列的微控制器在智能家居、智能穿戴等领域得到了广泛应用;其汽车半导体产品更是广泛应用于高级驾驶员辅助系统、车载网络等领域,为汽车行业的智能化转型提供了有力支持。FREESCALE的技术创新不仅提升了自身产品的竞争力,也为整个行业的发展注入了新的活力。

故事五:全球布局与本地化服务

为了更好地服务全球客户,FREESCALE(及合并后的NXP)在全球范围内进行了广泛的布局。公司在多个国家和地区设立了研发中心、生产基地和销售网络,能够快速响应客户需求并提供本地化服务。同时,FREESCALE还积极与全球各地的合作伙伴建立紧密关系,共同推动技术创新和市场拓展。这种全球布局与本地化服务的策略使得FREESCALE能够更好地融入当地市场,为客户提供更加贴心和高效的服务。

Excelsys公司的发展小趣事

在市场拓展方面,Excelsys公司采取了多元化的战略。除了深耕国内市场外,公司还积极开拓国际市场,与全球多家知名企业建立了长期稳定的合作关系。这些合作伙伴不仅为Excelsys提供了广阔的市场空间,还带来了先进的技术和管理经验,推动了公司的快速发展。

扬州国芯(Gcore)公司的发展小趣事

随着全球对环保意识的日益增强,Excelsys公司积极响应绿色环保的号召,将环保理念融入到产品设计和生产过程中。公司采用环保材料、优化生产工艺、提高能源利用效率等措施,减少了对环境的影响。同时,公司还积极参与环保公益活动,为行业的绿色发展贡献力量。

绿索超容(GreenSource)公司的发展小趣事

品质是Excelsys公司的生命线。公司始终坚持严格的品质控制标准,从原材料采购到生产制造的每一个环节,都经过严格的质量检测。这种对品质的执着追求,让Excelsys的产品在市场上赢得了良好的口碑。同时,公司还建立了完善的售后服务体系,为客户提供及时、专业的技术支持,进一步提升了品牌的信誉度。

Carroll & Meynell Transformers Ltd公司的发展小趣事

在电子行业的初期,Carroll & Meynell Transformers Ltd公司以其卓越的技术创新能力脱颖而出。公司研发团队不断突破传统变压器的设计局限,推出了一系列高效、稳定的变压器产品。这些产品不仅满足了当时市场对电力传输和分配的基本需求,还以其卓越的性能赢得了客户的广泛认可。随着市场需求的不断增长,公司逐渐扩大了生产规模,成为了电子行业中的佼佼者。

Eagle Plastic Devices公司的发展小趣事

为了保持技术领先地位和满足不断变化的市场需求,Eagle Plastic Devices公司不断加大研发投入,引进先进的研发设备和人才。公司建立了完善的研发体系,包括新产品开发、工艺改进、性能测试等环节。通过不断的技术创新和产品升级,Eagle Plastic Devices公司成功推出了多款具有竞争力的新产品,进一步巩固了其在行业内的领先地位。

问答坊 | AI 解惑

大家帮忙看一下quartus中一些警告,谢谢了!!!

倒数第三行的警告大家可以不看,已经解决掉了, 大家帮忙看看其他的警告,谢谢了…

查看全部问答>

(高价)(高价)(高价)诚激高手开发:sock5全自动代理自助管理系统,有技术者加QQ详谈,99040008

(高价)(高价)(高价)诚激高手开发:sock5全自动代理自助管理系统,有技术者加QQ详谈,99040008…

查看全部问答>

救命啦,中文乱码怎么解决啊?~

用。NET 开发的程序在WINCE5.1上中文显示的全是方框,有没有遇到过啊,怎么解决啊。…

查看全部问答>

pb 4.2 实现注册表永久保存数据!

我在pb 4.2 中修改 platform.reg 如下: ; HIVE BOOT SECTION [HKEY_LOCAL_MACHINE\\init\\BootVars]         \"SYSTEMHIVE\"=\"Documents and Settings\\\\system.hv\"         \"PROFILEDIR\"=\"Doc ...…

查看全部问答>

STM8的EEPROM读写速度挺快的啊

STM8的EEPROM读写速度挺快的啊,经测试发现并没像datasheet说的那样一个字节6.6ms, 下载 (49.52 KB) 2010-10-9 11:08 我是单字节写的,似乎写N个字节都是6点几个ms,我是用示波器测得的 下载 (27.15 K ...…

查看全部问答>

通讯接收

请教各位,我用基于MODBUS协议实现单片机和pc机通讯,单片机中断接收,查询发送,以下是我的中断程序,我的想法是先接收完所有的数据再进行处理(包括地址判断,读寄存器等然后再发送),这样的话我接收的数据就定下来了,比如程序中只接受8个字节 ...…

查看全部问答>

TI Sitara入门资料分享7-AM335X家族介绍TI Sitara官方资料汇总

用于基于 ARM® Cortex™-A8 和 ARM9™ Sitara™ 的微控制器 (MPU) 的软件和工具软件开发套件 (SDK) - TI SDK 为您选择的平台提供主要软件组件和文档。SDK 可在 TI.com 上免费下载,同时随附 TI 评估模块 (EVM) 和开发套件提 ...…

查看全部问答>

求freescale k40标准板的例程,本人新人,在此向各位前辈求助!!

freescale k40标准板的例程,本人新人,在此向各位前辈求助!!…

查看全部问答>

如何用verilog写一句等待按键释放语句?

如何用verilog写一句等待按键释放语句?…

查看全部问答>

关于MSP430默认时钟延时定时的问题

MSP430关于延时时间的问题。 #include /* * main.c */ void main(void) {         WDTCTL = WDTPW + WDTHOLD;         unsigned int i;         unsigned char j;   ...…

查看全部问答>