细读DSP延时函数DSP28x_usDelay()及解决烧录至FLASH出错的方法

TI公司的DSP处理器(本文以C2000的F28377D为例,其他处理器同样原理)的程序为了实现精确的定时,使用了一个用汇编编写的延时函数DSP28x_usDelay(),该函数在文件F2837xD_usDelay.asm中,程序的细节请阅读该文件。为了调用该函数,在F2837xD_Examples.h中做了如下声明:

extern void F28x_usDelay(long LoopCount);// DO NOT MODIFY THIS LINE.
#define DELAY_US(A)  F28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)

利用宏定义的方式做了宏定义修正,来确保定时更加精确。

值得特别注意的是:
函数F28x_usDelay(long LoopCount)要想非常精确,必须在SARAM中运行,因此需要在运行时将其调入SARAM中。

下面谈谈如何实现将其调入SARAM中,需要做以下几个工作:

首先,在F2837xD_usDelay.asm中使

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值