电子工程专辑互动社区>EE爱问>嵌入式系统频道>令人蛋疼的DSP问题
作者 问题:

令人蛋疼的DSP问题

发布时间:2014-5-13 下午2:13

作者: 电掌柜

等级: 黄金长老

积分: 4703分

发帖数: 112次

网站总积分: 4707分

经验值: 184.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
1.jpg
现在是全局定义。
错误的原因就是三个定义的位置,datacount是将0到1000个数字写入到SDRAM的一个变量,databuffer数组是用来接受从SDRAM中读取的数据的,剩下的两个,一个是SDRAM的首地址,一个是尾地址。
一、现在是正确的情况,运行之后,error=0,标志位i=1;
2.jpg
二、当把定义位置1、2调换以后
3.jpg

运行之后就不能正确的读取SDRAM中的数据了error=3(说明有三次读取的数据有错误),i=2
?
4.jpg
三、因为这三个的定义我只是在主函数中使用,所以我便将这三个定义转移到了main函数中,作为局部定义使用,同样也会出现和二一样的错误。
求解啊!!!

下面是我的程序:

# include "csl.h"
# include "csl_pll.h"
# include "csl_emif.h"
# include "csl_chip.h"
# include "stdio.h"
# include "csl_gpio.h"


unsigned int datacount=0;
int databuffer[1000]={0};
int *souraddr,*deminaddr;




PLL_Config PLL_SETTING={
??????? 0,
??????? 1,
??????? 6,
??????? 0
};


EMIF_Config EMIF_SETTING={
????????????????? 0x221,
????????????????? 0xFFFF,


????????????????? 0x3FFF,
????????????????? 0xFFFF,
????????????????? 0x00FF,


????????????????? 0x3FFF,
????????????????? 0xFFFF,
????????????????? 0x00FF,


????????????????? 0x1FFF,
????????????????? 0xFFFF,
????????????????? 0x00FF,


????????????????? 0x1FFF,
????????????????? 0xFFFF,
????????????????? 0x00FF,


????????????????? 0x2911,
????????????????? 0x0410,
????????????????? 0x07FF,
????????????????? 0x0131
};


void main ()
{


??????? unsigned int error=0;
??????? int i=0;


??????? CSL_init ();
??????? CHIP_RSET (XBSR,0X0A01);
??????? PLL_config (&PLL_SETTING);
??????? EMIF_config (&EMIF_SETTING);


??????? souraddr=(int*)0x40000;
??????? deminaddr=(int *)0x41000;
??????? while (souraddr ??????? {
??????????????? *souraddr++=datacount;
??????????????? datacount++;
??????? }


??????? souraddr=(int *)0x40000;
??????? datacount=0;
??????? while (souraddr ??????? {
??????????????? databuffer[datacount++]=*souraddr++;
??????????????? if (databuffer[datacount-1]!=(datacount-1))
??????????????? {
??????????????????????? error++;
??????????????? }
??????? }
??????? if (error==0)
??????? {
??????????????? GPIO_RSET(IODIR,0XFF);
??????????????? GPIO_RSET(IODATA,0X80);
??????????????? i=1;
??????? }
??????? else
??????? {
??????????????? GPIO_RSET(IODIR,0XFF);
??????????????? GPIO_RSET(IODATA,0X00);
??????????????? i=2;
??????? }
??????? while (1);
}
?
???标签: 求助
社区管理员 编辑于 2014-5-13 下午2:16
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0) 有新回复时发送邮件通知
电子工程专辑智能MEMS麦克风市场快速崛起
第1楼

回复主题:令人蛋疼的DSP问题

发布时间:2014-5-13 下午11:57

作者: 小麻

等级: 青铜少侠

积分: 1174分

发帖数: 109次

网站总积分: 1212分

经验值: 1732.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
看了一下,应该是代码的设计功能问题,问题在于以souraddr++的地址是否有效,作为循环条件,说明代码设计肯定有问题。
?????? souraddr=(int*)0x40000;
??????? deminaddr=(int *)0x41000;
??????? while (souraddr ??????? {
??????????????? *souraddr++=datacount;
??????????????? datacount++;

上面的代码会执行远远超过你需要的次数,因为souraddr++到0才会退出循环,因此执行的结果肯定不是你期望的东西,正确的条件应该以datacount < xxx,才能正常工作。
后面的一个循环有类似的问题。
至于error的错误情况,先把代码处理好了,重新测试再检查吧
一个大学生完成电子设计的全过程 值得一读 (下载2665 次) 书上学不到的~某高手谈开关电源设计心得,经典~ (下载2575 次)
运放和比较器的根本区别 (下载2237 次) 焊接工艺(花了很多时间整理,图文并茂) (下载2668 次)
电子电路制作大全[PDF共6本] (下载128266 次) WiFi模块全总结 (下载4313 次)
引用 回复 鲜花 ( 1) 臭鸡蛋 ( 0)
电子工程专辑法国正致力扮演“下一个美国硅谷”
第2楼 回复主题:令人蛋疼的DSP问题 发布时间:2014-5-14 上午9:03

作者: IT小春子

等级: 初入江湖

积分: 179分

发帖数: 45次

网站总积分: 189分

经验值: 6.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
不知道楼主贴漏代码还是怎样,不过用 while (souraddr)这种条件来循环,souraddr可是指针,里面保存的是指向的地址(例如0x20000000),而不是指向该地址的值。*souraddr才是取指操作。先把指针搞清楚吧,这样的代码肯定会带来很多意想不到的结果
华为内部学习资料——通信技术入门 (下载1217 次) 汽车电力电子技术及马达驱动器手册 (下载1046 次)
ARM入门教程(北大版) (下载2914 次) C语言常用算法程序集 (下载10858 次)
【年度巨献】《嵌入式系统开发之道-菜鸟成长日志与项目经理的私房菜》 (下载1090 次) (0分下载系列)[共享]10个清晰的经典电路 (下载3245 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑透明超级电容器即将整合于显示器中?
第3楼 回复主题:令人蛋疼的DSP问题 发布时间:2014-5-14 下午1:36

作者: chenpi

等级: 白银少侠

积分: 1331分

发帖数: 476次

网站总积分: 1408分

经验值: 522.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
多吃点亏呵呵呵就明白了
WiFi模块全总结 (下载4313 次) 【竞赛】全国电子设计竞赛各届题目及获奖作品集锦(含各届获奖作品论文,其中一些有源代码及PCB) (下载1430 次)
Cortex-M3权威指南中文版 (下载7798 次) 看完这部MCU中的葵花宝典,你就明白为什么说全球没有破J不了的MCU了。。。 (下载19415 次)
华为和中兴详细工资构成对比 (下载3508 次) 单片机关键技术基础详解 (下载5523 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑前NASA局长退隐创业十年,打造神经芯片KnuPath
第4楼 回复主题:令人蛋疼的DSP问题 发布时间:2014-5-14 下午3:26

作者: zeng-gj

等级: 青铜大侠

积分: 2348分

发帖数: 1092次

网站总积分: 2522分

经验值: 1090.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
呵呵,准确地说,不是DSP问题,而是C的指针应用问题。

引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)

与?求助?相关的话题
?
快速回复
用户名:?
美国的游客?????? (您将以游客身份发表,请登陆 | 注册 ) ?
标题: * 你还可以输入80
评论: * 你还可以输入10000
分享到: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
验证码: ?*?
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回嵌入式系统频道 | 返回EE爱问
本论坛仅陈述专家或个人观点,并不代表电子工程专辑网站立场。
返回论坛页首
有问题请反馈