DSP问题(急)

DSP问题(急),第1张

接收64位的数要做编程处理,先在接收机上定义64位的数 long double型,然后在编码发送64位数据的时候做一个 标志位,如果是64位的数,则置位。接收的时候用如下代码(高位在先,实际时应该用至少3个w)

N = N & w1;

N = (N<<32)&w2;

类似这样解决问题。具体看使用什么通信协议,毕竟一帧里面发送的数据位也不一定是32位的。

强制类型转换(float)

我认为就是一个简单的CPU空转。如果要算它具体消耗了多少时间,大概应该可以这么初略的这么估计时间

2000count单条指令执行周期时间(在不考虑执行跳转指令的延迟间隙、内层循环计数器复位、外层循环计数器累加的情况下)。

单条指令执行周期时间也就是你所使用的DSP处理器主频的倒数。

global start ; 定义全局标号

text

start:

nop

LDp #4 ; 直接寻址,装载DP值,页指针指向片内数据区DARAM B0

SPlk #1,1 ; 绝对地址201H开始的四个单元存1,2,3,4

Splk #2,2 ;

Splk #3,3 ;

Splk #4,4 ;

Splk #7,AR3

Splk #300h,AR1

; 以下使用间接寻址将201H开始的4个单元的数

; 转存到300H开始的4个单元

lar ar0,#201h ; 源起始地址存在辅助寄存器0

lar ar1,#300h ; 目的起始地址存在辅助寄存器1

lar ar2,#3 ; 循环计数值为移动数-1

mar ,ar0 ; 设置当前辅助寄存器为ar0

loop1: ; 开始循环搬移数据

lacc +,ar1 ; 将当前辅助寄存器(ar0)所指向的数据内存单元的值装载到acc

; ar0加1,设置当前辅助寄存器为ar1

sacl +,ar2 ; acc低16位存放到当前辅助寄存器(ar1)指定的单元

; ar1加1,设置当前辅助寄存器为ar2

banz loop1,ar0 ; 当前辅助寄存器(ar2)如果不等于0则

; 当前辅助寄存器(ar2)减1,转loop1

xh: b xh ; 空循环

end

以上就是关于DSP问题(急)全部的内容,包括:DSP问题(急)、DSP程序里面用于延时的循环语句怎么计算延时时间求高人解答。。。。、求一段DSP程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10632881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存