接收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程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)