打印

DSP F28335中的Delay_us()问题

[复制链接]
2304|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaoyazheng|  楼主 | 2014-9-29 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想知道,头文件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 | 只看该作者
嵌套汇编代码吧    这样能做到延时的准确性

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

1

粉丝