打印

DSP28335— DELAY_US总结

[复制链接]
2308|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 zhangmangui 于 2015-8-30 18:51 编辑

在很多程序中都会调用延时程序DELAY_US(A),在文件DSP281x_Examples.h中有如下宏定义:
#define DELAY_US(A) DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)
从定义很容易推算出,需要延时A微妙就把DELAY_US()的参数设置为A即可。
在仿真调试的情况下运行程序,延时是较准确的,但是当把程序烧写到flash里运行时,如果程序上不做修改,就会很容易发现延时的时间比你设置的要长(通过延时控制LED灯闪烁,很直观)。这是因为,DSP访问flash时需要等待时间的,而访问RAM时几乎是零等待,所以在使用DELAY_US(A)时要想延时时间准确必须使其在RAM里运行,在程序上需做如下修改:
1、在DSP2833x_usDelay.asm中,有如下代码:

       .def _DSP28x_usDelay
       .sect "ramfuncs"
        .global  __DSP28x_usDelay
_DSP28x_usDelay:
        SUB    ACC,#1
        BF     _DSP28x_usDelay,GEQ    ;; Loop if ACC >= 0
        LRETR
其中.sect "ramfuncs"语句的作用就是就把用汇编写的函数DSP28x_usDelay定位在ramfuncs段。

2、在工程中添加源文件DSP2833x_MemCopy.c,该文件中的函数void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr),实现把你想复制的代码从装载地址RamfuncsLoadStart—RamfuncsLoadEnd拷贝到RamfuncsRunStart开始的SARAM空间中。

3、在文件DSP2833x_SysCtrl.c开头,通过伪指令定义一个代码段,注意位置一定要放在函数前面(如下图所示)。
4、在main函数中要调用MemCopy函数,注意该函数放置的位置。

5、修改用于烧写的CMD文件



6、注意在头文件DSP281x_GlobalPrototypes.h 别忘做如下声明:



相关帖子

沙发
JY-DX-JY| | 2015-8-29 14:37 | 只看该作者
顶一个。楼主受赏2000多

使用特权

评论回复
板凳
zhangmangui|  楼主 | 2015-8-30 18:43 | 只看该作者
JY-DX-JY 发表于 2015-8-29 14:37
顶一个。楼主受赏2000多

呵呵    幸运幸运

使用特权

评论回复
地板
gejigeji521| | 2015-9-30 22:39 | 只看该作者
什么两千多,没看明白你们说什么

使用特权

评论回复
5
zhangmangui|  楼主 | 2015-9-30 22:50 | 只看该作者
gejigeji521 发表于 2015-9-30 22:39
什么两千多,没看明白你们说什么

帖子有悬赏功能    他说的 是赏金吧

使用特权

评论回复
6
huangcunxiake| | 2015-9-30 22:50 | 只看该作者
延时自己写的爽

使用特权

评论回复
7
gejigeji521| | 2015-10-10 10:29 | 只看该作者
楼主干啥了,这么多奖金。

使用特权

评论回复
8
zhangmangui|  楼主 | 2015-10-10 23:13 | 只看该作者
gejigeji521 发表于 2015-10-10 10:29
楼主干啥了,这么多奖金。

参加各种活动啊     每次50    100的   
多参加活动吧

使用特权

评论回复
9
gejigeji521| | 2015-10-12 17:28 | 只看该作者
zhangmangui 发表于 2015-10-10 23:13
参加各种活动啊     每次50    100的   
多参加活动吧

这样啊,以后我多参加活动,争取弄几十块钱。

使用特权

评论回复
10
1500364191| | 2017-11-20 09:54 | 只看该作者
谢谢·,很有用。

使用特权

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

本版积分规则

个人签名:欢迎进入【TI DSP 论坛】 & 【DSP 技术】           TI忠诚粉丝!

935

主题

26376

帖子

589

粉丝