请教个关于dsp和单片机HPI通信的问题
dsp吧
全部回复
仅看楼主
level 1
道—莲— 楼主
我用单片机向DSP里发送数据后,我在DSP端是否可以直接使用指针调用相应位置的数据,这样我就可以不加中断了
2014年05月11日 15点05分 1
level 11
嘿嘿,小伙儿,想法不错!看来是真的思考了。你可以自己实验一下。但是我想啊,指针指向那个内存然后调出这个数据,如果数据量特别大,肯定会出错。C语言本身就已经在时序上大打折扣,如果在利用指针获取数据然后在给其他变量赋值,那么这本身就会造成时序error。再说HPI通信模式的内存访问权限,HPI采用的是DARAM,只能是主机或者DSP本身对其进行访问,如果用指针,是可能读不出数据的。DSP的时序非常重要,尤其是处理高精度的东西,调整时序是一个很艰难的任务。这是我的理解,你可以自己实验一下的。。。嘿嘿,祝你成功!
2014年05月12日 14点05分 2
谢谢,因为我需要发生的数据很少,就3个数,并且整个程序运行过程中只发送一次,所以我的想法是DSP程序端指针指向这个地址,然后单片机通过HPI发送这3个数到该地址,这样指针的值就变成我发生的数据了,然后幅值给其他变量,这样,在我下一次对这个地址的数据进行改变前,这个地址的值应该是不变的
2014年05月13日 03点05分
回复 道—莲— :因为毕业设计才开始接触DSP,之前没有学过,谢谢指教
2014年05月13日 03点05分
level 1
道—莲— 楼主
我昨天写了个小程序去验证我的想法,DSP端程序如下
unsigned char *FlagLed=(unsigned char *)0x60;
int n;
n=0;
n=*FlagLed;
if(n==1) asm(" rsbx xf");//灯亮
if(n==0) asm(" ssbx xf");//灯灭
单片机端通过按键选择发送1或者0到dsp 0x60 地址处,成功的控制了小灯
2014年05月14日 01点05分 3
1