DSP怎么读取电脑上的txt数据并写入内存

DSP怎么读取电脑上的txt数据并写入内存,第1张

需要借助上位喊散机软件,如matlab、labview等。迟渗旁将txt读入到相应的上位机软件中,然后发送给DSP,dsp收到数据后存储起来就行了。如果数据量不是很大,或者对速度没什么要求码橡的时候,直接使用串口通讯就行了。这样的通讯方式比较简单,容易入手。

以下程序采用TMS320VC5416芯片,运行环境ccs2.0

这是主程序(c语言的)

#include "stdio.h"

/*#include "mmregs.h"*/

#define imr 0x0000

#define ifr 0x0001

#define tcr 0x0026

#define prd 0x0025

#define pmst 0x001d

ioport unsigned port8001

interrupt void timer()

/*extern void initial()

extern void porta()

extern void portb()*/

int flag=0

int i

interrupt void timer()

{

*(int *)0x300=*(int *)0x300+1

if(*(int *)0x300==0x3E8)

{

*(int *)0x300=0

*(int *)0x302=*(int *)0x302+1

if(flag==0)

{flag=1

i = 0x5555

port8001 = i

}

else

{flag=0

i = 0xaaaa

port8001 = i

}

}

return

}

main()

{

*(int *)0x300=0

*(int *)0x302=0

*(int *)pmst=0x3f9f

asm(" ssbx 1,11")//禁止所有中迟陵祥断

*(int *)ifr=0xffff

*(int *)imr=0x00

*(int *)tcr=0x410

*(int *)prd=0x4e1f

*(int *)tcr=0x420

*(int *)imr=0x08

asm(" rsbx 1,11")

while(1)

}

这是个汪高向量码搏程序(汇编的):

.sect ".vectors"

.ref _c_int00 C entry point

.ref _timer time interrupt point

.align 0x80must be aligned on page boundary

RESET: reset vector

BD _c_int00 branch to C entry point

STM #200,SP stack size of 200

nmi:RETEenable interrupts and return from one

NOP

NOP

NOP NMI~

software interrupts

sint17 .space 4*16

sint18 .space 4*16

sint19 .space 4*16

sint20 .space 4*16

sint21 .space 4*16

sint22 .space 4*16

sint23 .space 4*16

sint24 .space 4*16

sint25 .space 4*16

sint26 .space 4*16

sint27 .space 4*16

sint28 .space 4*16

sint29 .space 4*16

sint30 .space 4*16

int0: RETE

NOP

NOP

NOP

int1: RETE

NOP

NOP

NOP

int2: RETE

NOP

NOP

NOP

tint: b _timer

NOP

NOP

rint0: RETE

NOP

NOP

NOP

xint0: RETE

NOP

NOP

NOP

rint1: RETE

NOP

NOP

NOP

xint1: RETE

NOP

NOP

NOP

int3: RETE

NOP

NOP

NOP

.end

以上两个是编出来的。

还有一些源文件需要添加,就可以运行了。程序是利用定时实现流水灯的。如果有需要完整的其他文件可以把邮箱留下。我到时发给你。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

对于5系列,亏搭状态寄存器里面不是所有位裂迹都可以写,STO中OVA,OVB可以用置位指令SSBX和复位指令RSBX设置,例如

SSBX SXM; 符号扩展SXM=1

RSBX SXM; 禁止符号扩展SXM=0

读可以通过CCS->view->registers->cpu registers 看到CPU的主要寄存器的值。或者查看寄存器所对应肆空并的地址的值。


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

原文地址: http://outofmemory.cn/tougao/12124481.html

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

发表评论

登录后才能评论

评论列表(0条)

保存