今天在调试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,圈圈等来解决了。。。 |