历史上的今天
返回首页

历史上的今天

今天是:2025年01月31日(星期五)

2019年01月31日 | 【stm32f103】SysTick实现延时(寄存器版)

2019-01-31 来源:eefocus

一.SysTick寄存器介绍

SysTick要参照Programming manual手册,寄存器一共有4个,如图:

分别为STK_CTRL

STK_LOAD


STK_VAL


STK_CALIB校验,此基本用不到,或者水平没到那个程度,暂时用不到


二.程序分析

Delay_us


void Delay_us(unsigned int nTime)

{

         SysTick->LOAD = 72*nTime;

         SysTick->CTRL =SysTick_CTRL_ENABLE_Msk | SysTick_CTRL_CLKSOURCE_Msk;

         while(!(SysTick->CTRL&SysTick_CTRL_COUNTFLAG_Msk));

         SysTick->CTRL =~SysTick_CTRL_ENABLE_Msk;

}


直到为bit 16为1的时候完成us的延时,因为systick只是一个24bit的计数器,所以总有个最大延时,所以采用delay ms去实现更多的延时


void Delay_ms(unsigned int nTime)

{

for(;nTime > 0;nTime--)

                   Delay_us(1000);

}

以上可以实现延时,测试有效


推荐阅读

史海拾趣

Crosspoint Solutions公司的发展小趣事

在电子行业的激烈竞争中,Crosspoint Solutions公司凭借一项革命性的技术创新脱颖而出。公司研发出一款高度集成的交叉点开关芯片,该芯片在数据传输速度和稳定性上均达到了行业领先水平。这一创新迅速吸引了各大电子设备制造商的注意,公司因此获得了大量订单,市场份额迅速扩大。

D1 International Inc公司的发展小趣事

D1 International Inc公司自创立之初,就专注于技术创新。公司的创始人们深知,在竞争激烈的电子行业中,只有拥有独特的技术优势才能立足。因此,他们投入大量资源研发新型电子元器件,其中一款高性能的芯片因其低功耗和高效能,迅速在市场上获得了认可。这一技术的成功研发,为D1 International Inc公司赢得了第一桶金,也为公司后续的发展奠定了坚实的基础。

AEMC Instruments公司的发展小趣事

随着产品的不断完善和升级,AEMC Instruments公司开始积极拓展市场。公司加强与国际市场的合作,通过参加国际展会、建立全球分销商网络等方式,将产品推向全球。同时,公司还积极寻求与国际知名企业的合作,共同研发新产品和技术,以进一步提升产品的竞争力。这些举措不仅扩大了公司的市场份额,也提高了公司的国际知名度。

ELESTA GmbH公司的发展小趣事

2019年,ELESTA GmbH荣获GEO全球卓越奖,这是对公司多年来在精益生产和生态环保方面卓越表现的肯定。该奖项的获得不仅提升了ELESTA的品牌形象和知名度,也进一步增强了公司在全球电子行业中的竞争力和影响力。

以上五个故事涵盖了ELESTA GmbH公司从创立到发展的关键阶段和里程碑事件,展现了公司在电子行业中不断进取、创新发展的历程。

华润华晶公司的发展小趣事

2013年,ELESTA公司更名为ELESTA GmbH,这一品牌重塑标志着公司进入了新的发展阶段。同时,ELESTA也开始实施全球化战略,积极拓展国际市场,通过不断提升产品质量和服务水平,赢得了全球客户的信赖和认可。

富瀚(Fullhan)公司的发展小趣事
设计紧凑合理,安装简便快捷;同时提供清晰的故障指示和便捷的维护接口,方便用户进行日常维护和故障排除。

问答坊 | AI 解惑

LED驱动IC大介绍

以下十多个型号均在许多LED厂商量产~!可以提供免费样品~! 价格优~! UCT41XX系列~! UCT42XX系列~! UCT3142 UCT4390 BL8532 BL8530 PT4107 PT4105等等 UCT4150是一款专为LED照明应用而设计的开关降压型LED恒流驱动电路。其输入工作 ...…

查看全部问答>

基于Proteus 的液晶模块仿真

网上找的: 基于Proteus 的液晶模块仿真 摘要:本文介绍了Proteus 中字符型液晶模块LM016L 的结构及其控制器HD44780 的指令系统,完成了LM016L 与单片机80C51 的硬件接口电路设计及HD44780 控制器的驱动编程, 实现了LM016L 自定义字符的显示。最 ...…

查看全部问答>

ISQ和SYSINTR对应关系。

有一个中断程序,接中断按键int1,如果我想把中断按键改成按键int2。其他不用处理 。该如何做???…

查看全部问答>

bootstrap未能加载是什么回事?

我用vs2005C#在windows ce 5.0上做开发.一上来就遇到一个问题.设备与电脑连好后,activesync上也提示完成同步.呈绿色.但是当我用vs2005上的连接设备去连接该设备的时候去提示:\"连接失败,bootstrap未能加载\" 想请问这是怎么回事?…

查看全部问答>

Win应用程式多次加载驱动问题

问题是这样的:   Win32环境下直接访问I/O port所以参考资料写了一个小的驱动,在App中动态加载这个驱动.   问题是,由于多个App可能同时都需要这个驱动,但是通过CreateFile打开的驱动设备,第二次打开就会失败,已经开了CreatFil ...…

查看全部问答>

synplify优点

1.综合相对成熟 2。速度快,算法好 3。物理综合,性能会有所提升 4。用linux版本,一个脚本到底  …

查看全部问答>

LCD12864汇编问题

LCD12864只有右半屏能够滚动,左半屏不能滚动请各位帮帮忙,帮我修改一下  ,两边同步滚动谢谢了…

查看全部问答>

请问有什么好方法可以减小RF接收电路接收到的噪音

这几天做一个51项目,要用到RC-R01A这个RF接收模块,模块连接51单片机的RXD串口接收端,但是在实验的时候,却发现从RF接收模块收到的噪音太多了····以至于单片机不断的处理没用的噪音,我在无线这方面是个小白,请问有什么方法可以滤掉从RF接收 ...…

查看全部问答>

【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第四十八章 照相机实验

第四十八章 照相机实验 上一章,我们学习了图片解码,本章我们将学习bmp编码,结合前面的摄像头实验,实现一个简单的照相机。本章分为如下几个部分:48.1 BMP编码简介48.2 硬件设计48.3 软件设计48.4 下载验证 48.1 BMP编码简介    &nbs ...…

查看全部问答>