DSP2812 使用delay函数延时

[复制链接]
1613|10
 楼主| Levenburg 发表于 2017-5-10 20:47 | 显示全部楼层 |阅读模式
dsp2812 使用delay()函数延时,如何计算延时时间?程序如下,系统时钟设置为150MHz.跪求各位大神
void delay(void)
{
   int k,j;
   for(k=0;k<1000;k++)
   {
        for(j=0;j<5000;j++){}
               
   } //延时
}
Thorald 发表于 2017-5-10 21:07 | 显示全部楼层
2812有没有定义这个函数DELAY_US();
Bjorn 发表于 2017-5-10 21:16 | 显示全部楼层

你这样的延时涉及到底层汇编,还有流水线工作原理,估算起来麻烦,也不便于移植。
Rollo 发表于 2017-5-10 21:33 | 显示全部楼层
这种延进不准确的。要看编译后的汇编情况
Rangar 发表于 2017-5-10 21:44 | 显示全部楼层
曾有过这样的经历,一程序在没有优化时,工作正常,而优化了以后就不正常工作了。费了好多的事,最后找到是延时函数的问题:在没优化时,它延时比较长,而优化了以后,延却短了(根据优化级别延时有别)
Stannis 发表于 2017-5-10 21:54 | 显示全部楼层
要准确延时,还需要定时器参与,或者在某一优化级别下,看看汇编代码来计算它延时时间。
zhangmangui 发表于 2017-5-10 22:03 | 显示全部楼层
这个你最好通过运行看看跑了多少个机器周期   然后计算出时间
123654789 发表于 2017-5-11 11:31 | 显示全部楼层
拿个示波器实际测量
shenmu2012 发表于 2017-5-12 21:46 | 显示全部楼层
这个延时不是很好的
jstgotodo 发表于 2017-5-12 23:05 | 显示全部楼层
你配置的时钟是多少
jstgotodo 发表于 2017-5-12 23:06 | 显示全部楼层
根据时钟和执行周期,计算for循环次数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

180

帖子

0

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