打印

请教:28027,主频60M,像这样的延时函数延时时间怎么算?

[复制链接]
1973|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
杨琳lin|  楼主 | 2013-10-9 14:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
28027,系统时钟60M,像这样的延时函数:
void delay(Uint32 count)
{
    while(count>0)  
     {
       count--;
     }
}
是不是系统时钟长度(1/60M)乘以计数值(count)?
这个问题可能有点白痴,主要是想搞清楚两点:
1、确认这样算对否;
2、算是这么算,但我的实际程序中时间貌似不对。

相关下载

相关帖子

沙发
杨琳lin|  楼主 | 2013-10-9 14:41 | 只看该作者
不是故意重复发帖,系统反应慢,按了两次就这样了。

使用特权

评论回复
板凳
dirtwillfly| | 2013-10-9 17:02 | 只看该作者
不是这样计算的。这还要看你的count式存储在哪里的,读写这个变量可能也占用时钟周期。另外,调用这个延时函数的过程也会花费一些时间。具体你可以看看调试过程生成的汇编程序

使用特权

评论回复
地板
杨琳lin|  楼主 | 2013-10-16 11:36 | 只看该作者
谢谢版主的热心帮助!

使用特权

评论回复
5
dirtwillfly| | 2013-10-16 12:37 | 只看该作者
杨琳lin 发表于 2013-10-16 11:36
谢谢版主的热心帮助!

:handshake客气。欢迎多多来论坛交流~~

使用特权

评论回复
6
dontium| | 2013-10-20 19:46 | 只看该作者
TI例程中有延时函数,是使用汇编写的,且定义为Ramfuncs,即在RAM中运行,执行的时间是可以用数周期的办法算出来的 。

使用特权

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

本版积分规则

19

主题

96

帖子

2

粉丝