历史上的今天
今天是: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);
}
以上可以实现延时,测试有效
史海拾趣
|
以下十多个型号均在许多LED厂商量产~!可以提供免费样品~! 价格优~! UCT41XX系列~! UCT42XX系列~! UCT3142 UCT4390 BL8532 BL8530 PT4107 PT4105等等 UCT4150是一款专为LED照明应用而设计的开关降压型LED恒流驱动电路。其输入工作 ...… 查看全部问答> |
|
网上找的: 基于Proteus 的液晶模块仿真 摘要:本文介绍了Proteus 中字符型液晶模块LM016L 的结构及其控制器HD44780 的指令系统,完成了LM016L 与单片机80C51 的硬件接口电路设计及HD44780 控制器的驱动编程, 实现了LM016L 自定义字符的显示。最 ...… 查看全部问答> |
|
我用vs2005C#在windows ce 5.0上做开发.一上来就遇到一个问题.设备与电脑连好后,activesync上也提示完成同步.呈绿色.但是当我用vs2005上的连接设备去连接该设备的时候去提示:\"连接失败,bootstrap未能加载\" 想请问这是怎么回事?… 查看全部问答> |
|
问题是这样的: Win32环境下直接访问I/O port所以参考资料写了一个小的驱动,在App中动态加载这个驱动. 问题是,由于多个App可能同时都需要这个驱动,但是通过CreateFile打开的驱动设备,第二次打开就会失败,已经开了CreatFil ...… 查看全部问答> |
|
这几天做一个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 ...… 查看全部问答> |




