zhaoyazheng 发表于 2014-9-29 10:23

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

zchong 发表于 2014-10-1 14:51

没有详细研究过,不过根据你的描述及代码,很有可能是默认的参数传递使用的是ACC寄存器。

zhangmangui 发表于 2014-10-7 21:29

嵌套汇编代码吧    这样能做到延时的准确性
页: [1]
查看完整版本: DSP F28335中的Delay_us()问题