打印

请教一个系统时钟的问题

[复制链接]
1182|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huolanyaseu|  楼主 | 2011-12-17 21:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
通常实现Delay(N)函数的方法为:

for(i = 0; i <= x; i ++);

x  ---  对应于 对应于N 毫秒的循环值

对于STM32系列微处理器来说,执行一条指令只有几十个ns,进行for循环时,要实现N毫秒的x值非常大,而且由于系统频率的宽广,很难计算出延时N毫 秒的精确值。针对STM32微处理器,需要重新设计一个新的方法去实现该功能,以实现在程序中使用Delay(N)。



在网上搜系统时钟,上面这句话比较常见。我想知道,为什么执行指令的时间就不精确,而用系统时钟,计算的时间,就精确呢?
一个指令周期包含多少系统周期,不是固定的么?

相关帖子

沙发
ycz9999| | 2011-12-18 15:46 | 只看该作者
没用过stm32    不过LZ可以了解下ARM的流水线机制

使用特权

评论回复
板凳
shampo0| | 2013-9-30 15:49 | 只看该作者
你敢不敢用定时器弄?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

14

帖子

1

粉丝