延时代码求详细说明

2019-08-20 18:06发布

我是新手,这局中reload*=1000000/OS_TICKS_PER_SEC;为什么要用1000000来除以OS_TICKS_PER_SEC
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
龙之谷
1楼-- · 2019-08-21 13:02
reload=SYSCLK/8;
reload*=1000000/OS_TICKS_PER_SEC;

以上是寄存器版本配置,和你贴的不一样
淡淡的鼬殇
2楼-- · 2019-08-21 18:24
 精彩回答 2  元偷偷看……
龙之谷
3楼-- · 2019-08-21 19:26
回复【8楼】淡淡的鼬殇:
---------------------------------
我知道你的意思,单独看这一句应该是没有意思的,你懂我的意思?

这句和上一句结合起来组成一个公式,才能发现想要表达的是什么

假如传入时钟是72,1000000的任务就是72*1000000Hz,这样1Hz与1s站在一个水平线上,也就是用于单位统一

不清楚你的SystemCoreClock是如何宏定义的,所以如果宏定义为晶振*1000000,那么和寄存器就统一了,咱么接着讨论,如果连这基础切入点都不一样,越说越远
淡淡的鼬殇
4楼-- · 2019-08-21 21:44
回复【9楼】龙之谷:
---------------------------------
我知道啊,我就是想问第二句为什么要用1M来除以OS_TICKS_PER_SEC
淡淡的鼬殇
5楼-- · 2019-08-22 01:49
回复【11楼】正点原子:
---------------------------------
我想用微妙级的延时  是不是应该1/1000000
正点原子
6楼-- · 2019-08-22 04:53
回复【12楼】淡淡的鼬殇:
---------------------------------
直接掉用我们的函数
如有不懂,请看我们教程.SYSTEM文件夹介绍.

一周热门 更多>