打印

C5402调试中出现的奇怪问题

[复制链接]
1484|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nxy825715|  楼主 | 2007-8-21 15:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天在调试5402与TLV320AIC23B的数据交换时(二者采用McBSP通信)。
DSP方产生不了接收中断,最后排查却是一个软件延时函数惹的祸。

软件延时函数如下:
void DelayXms(ushort Number)
{
   ushort i;
   
   for (i = 0; i < Number; i++) {
       NOP(); NOP();NOP();
   }
}

NOP(); 已经定义

原先我将这个函数单独作为一个文件,其他的文件若调用了就应用头文件“DelayH.h”

后来我将真个延时文件从工程中移除掉,直接将这个延时函数放在主函数中。
这个时候DSP可以接收到TLV320AIC23B的数据了(产生了接收中断)。

虽然问题解决了,但是却不知道这其中是怎么一回事,
请高手们指点指点
俺在此坐个沙发等候 tisheep, smartdsp,圈圈等来解决了。。。

相关帖子

沙发
wowow| | 2007-8-21 17:22 | 只看该作者

查看反汇编结果有何不同

使用特权

评论回复
板凳
SmartDSP| | 2007-8-21 21:47 | 只看该作者

那还真有点奇怪,

有没有定义所使用的内存地址空间,
可以用仿真器跟踪两种情况下DelayXms的进入地址空间,
看看有何不同。
进不了中断,要么向量表被修改,要么改了多路串口的设置,
但是似乎可能性不大。

使用特权

评论回复
地板
nxy825715|  楼主 | 2007-8-22 14:49 | 只看该作者

Re:

多谢两位的提醒,我试试你们的方法...

使用特权

评论回复
5
ahong007| | 2007-8-22 21:15 | 只看该作者

“DelayH.h”还有别的函数声明什么的吗,感觉不应该啊!

使用特权

评论回复
6
hotpower| | 2007-8-23 02:47 | 只看该作者

估计是cmd文件没搞好~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

389

帖子

1

粉丝