[MCU] 延时函数延时时间怎么算

[复制链接]
1034|9
 楼主| 午夜粪车 发表于 2020-12-15 19:22 | 显示全部楼层 |阅读模式
28027,系统时钟60M,像这样的延时函数:
void delay(Uint32 count)
{
    while(count>0)  
     {
       count--;
     }
}
zhaoxqi 发表于 2020-12-15 19:28 | 显示全部楼层

是不是系统时钟长度(1/60M)乘以计数值(count)?
 楼主| 午夜粪车 发表于 2020-12-15 19:29 | 显示全部楼层

这个问题可能有点白痴,主要是想搞清楚两点:
1、确认这样算对否;
2、算是这么算,但我的实际程序中时间貌似不对。
jlyuan 发表于 2020-12-15 19:35 | 显示全部楼层
不是这样计算的。这还要看你的count式存储在哪里的,读写这个变量可能也占用时钟周期
dengdc 发表于 2020-12-15 19:38 | 显示全部楼层
调用这个延时函数的过程也会花费一些时间
heweibig 发表于 2020-12-15 19:41 | 显示全部楼层
具体你可以看看调试过程生成的汇编程序
wyjie 发表于 2020-12-15 19:45 | 显示全部楼层
TI例程中有延时函数,是使用汇编写的,且定义为Ramfuncs,即在RAM中运行,执行的时间是可以用数周期的办法算出来的 。
renyaq 发表于 2020-12-15 19:49 | 显示全部楼层
无法准确计算延时时间。
supernan 发表于 2020-12-15 19:52 | 显示全部楼层
要精确定时,可以选择定时器。
 楼主| 午夜粪车 发表于 2020-12-15 19:59 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

867

主题

10194

帖子

3

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