DSP2812程序单步运行没问题可是开始时一RUN程序直接跑到ILLEGAL_ISR函数中,不过要是在程序中加个断点没事

DSP2812程序单步运行没问题可是开始时一RUN程序直接跑到ILLEGAL_ISR函数中,不过要是在程序中加个断点没事,第1张

类似的问题我也遇到过,总是进入非法中断。反复查也查不到问题,关键无从下手,

没办法,只能屏蔽掉绝大部分中断,发现CPU_Timer0中断进不去,再后来就查出是

cmd文件配置的问题。

嵌入式程序的调试比PC程序麻烦,根据你说的也很难判断是什么问题,只能告诉你一个思路:

把能屏蔽掉的代码都注释掉,直到不再出问题。然后一点一点再往上加,

看加到哪一部开始出问题。如果全屏蔽了还有问题,那么最可疑的就是cmd了。

这是另一为仁兄发的救助贴,和我遇到的问题一样的,求助:使用IQmath库函数报错,请大家帮看看http://www.hellodsp.com/bbs/forum.php?mod=viewthread&tid=28716&fromuid=361051我的程序调试时总遇到如下报错:code composer could not locate IQNsin.asmwould you like to browse for it?咱们论坛上也有人问过,有人说是软件仿真simulator的原因,可是我用的是连接目标板和仿真器的硬件仿真调试也有人说是“Step into”的问题,改为“Step over”后调试就会好的,可是我用“Step over”调试依然会出现上面的报错code composer could not locate IQNsin.asmwould you like to browse for it?我选择不浏览加载,然后再运行一步,就跳到非法中断里了:interrupt void ILLEGAL_ISR(void)另外我用的CMD是:DSP281x_Headers_nonBIOS.cmd和F2812_EzDSP_RAM_lnk.cmd其中在第二个cmd中有关于IQ的 IQmathTables : load = BOOTROM, type = NOLOAD, PAGE = 0 IQmath : load = PRAMH0, PAGE = 0请打家帮帮忙吧!!!多谢啦! 另外,我又测试了一下,好像除了_IQmpy()可以用外,其他的如_IQdiv()和_IQmag()等都不能用

break这组语句已经不属于for循环体了

若for循环内含有多条语句的话应该用{}括起来。

而break应该用在循环内部

#include <stdio.h>

main()

{

double m,n,s=1.0

for (n=1n++)

{

m=1/((2*n-1)*(2*n))

s=s*m

if (s<0.0001)

break

}

printf("最终的积为%f",s)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12026453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存