DSP F28335中的Delay_us()问题
我想知道,头文件DSP2833x_Examples.h宏定义:#define DELAY_US(A) DSP2833x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L),通过声明extern void DSP28x_usDelay(Uint32 Count)具体是怎么把参数(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)传到了DSP2833x_usDelay.asm延迟程序的累加器ACC中的。,对这点有点不太懂,是通过指针吗?希望大神能解答。DSP2833x_usDelay.asm;
.def _DSP28x_usDelay
.text
.global__DSP28x_usDelay
_DSP28x_usDelay:
SUB ACC,#1
BF _DSP28x_usDelay,GEQ
LRETR
没有详细研究过,不过根据你的描述及代码,很有可能是默认的参数传递使用的是ACC寄存器。 嵌套汇编代码吧 这样能做到延时的准确性
页:
[1]