Quantcast
Viewing all articles
Browse latest Browse all 21822

帖子: DSP5509在完成将AIC23采集的数据正确保存到外扩SDRAM后,再从SDRAM中读出过程中遇到的问题

昨天发了一篇帖子,为了解决将数据存储到外扩SDRAM中的问题,后来问题解决了,本来把方法已经回复到帖子中了,不知怎么就找不到了。稍后整理后,会再次把整个流程贴上来,以期起到抛砖引玉的作用,能给同样挣扎在入门阶段的新人些许思路。下面是我继续做数据读取时遇到的诡异的问题。

声明:

1、单独做SDRAM的存储于读取是没有问题的。

2、将AIC23采集的数据保存到SDRAM中是没有问题的。

代码:

//-----------------------------------向SDRAM中写入数据-----------------------------------
souraddr = (int *)0x40000; //起始地址
deminaddr = (int *)0x40030; //结束地址
while (souraddr < deminaddr)
{
        while (!MCBSP_rrdy(hMcbsp)){}; //接收就绪
        datacount = MCBSP_read16(hMcbsp); //接收数据
       *souraddr++ = datacount; //将接收到的数据保存到SDRAM中
        MCBSP_write16(hMcbsp,datacount);
}

for (j = 0;j < 10;j++)
{
        GPIO_RSET(IODATA,0xFE); //开发板D10亮
        delay(1000000);
        GPIO_RSET(IODATA,0xFF); //开发板D10灭
        delay(1000000);
}
//-----------------------------------读出SDRAM中数据--------------------------------------
souraddr = (int *)0x40000;
deminaddr = (int *)0x40030; //结束地址
datacount = 0;
while (souraddr < deminaddr)
{
        databuffer[datacount++] = *souraddr++; //把数据从SDRAM中取出,放到数组中 
        MCBSP_write16(hMcbsp,databuffer[datacount++]); //发送数据给AIC23 
}
while(1);

问题现象:

存进数组的数据分布如下图所示:

Image may be NSFW.
Clik here to view.

问题补充:

1、AIC23采集的数据是16bit有符号的数

2、unsigned int datacount = 0;        int databuffer[5000] ={0};

请问这种问题,可能是什么原因导致的???


Viewing all articles
Browse latest Browse all 21822

Trending Articles