请教一个系统时钟的问题

[复制链接]
2120|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

粉丝
快速回复 在线客服 返回列表 返回顶部