TI中文支持网
TI专业的中文技术问题搜集分享网站

程序一运行到延时程序DELAY_US(),就死循环了?

单步调试到DELAY_US(1000);,就进到死循环里了

笨鸟:你确定这个参数1000没超过范围吗?

单步调试到DELAY_US(1000);,就进到死循环里了

user5828674:

回复 笨鸟:

A的定义是long double,1000不至于吧

单步调试到DELAY_US(1000);,就进到死循环里了

user5828674:

回复 笨鸟:

#define DELAY_US(A)DSP28x_usDelay(((((long double) A * 1000.0L) / \(long double)CPU_RATE) – 9.0L) / 5.0L)这里的A是long double,1000不至于吧

单步调试到DELAY_US(1000);,就进到死循环里了

笨鸟:

回复 user5828674:

只要可以出去,就不会死循环的呀。你如何判断他进去死循环了呢?这个是自己的函数,还是库中自带的函数?全速运行也会进死循环吗?

单步调试到DELAY_US(1000);,就进到死循环里了

user5828674:

回复 笨鸟:

库里自带的函数,单步调试运行到DELAY_US()这,就运行不到下一行程序了

单步调试到DELAY_US(1000);,就进到死循环里了

笨鸟:

回复 user5828674:

库里自带的话,单步估计进不去吧,跳出这个函数,继续执行下一个函数试试。

单步调试到DELAY_US(1000);,就进到死循环里了

user5828674:

回复 笨鸟:

为什么库自带的函数进不去?

单步调试到DELAY_US(1000);,就进到死循环里了

mangui zhang:

回复 user5828674:

把堆栈设置大一些看看

单步调试到DELAY_US(1000);,就进到死循环里了

笨鸟:

回复 user5828674:

我指的是如果调用的是.lib库的话,是不会进去的。你给的信息太少了,只能这样猜测。

单步调试到DELAY_US(1000);,就进到死循环里了

Soldier 76:这个要把代码移动到ram里面的,你是不是用错了cmd文件,或者在前面memcpy()

赞(0)
未经允许不得转载:TI中文支持网 » 程序一运行到延时程序DELAY_US(),就死循环了?
分享到: 更多 (0)