整个函数主要包含:主函数的FFT计算,一个定时器中断,一个AD中断。
如果定时器中断和AD中断不嵌套,则FFT计算正确;如果定时器中断和AD中断进行嵌套,则主函数中的FFT计算会受到影响。
其中InBuffer的数值是写定的,与中断操作无关。而中断函数中定义的局部变量也不多,不超过20个变量。尝试过修改.stack的大小,但是对结果没有影响。
请问中断嵌套对FFT的计算有什么影响吗?该如何解决这个问题?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
楼主有没有估计过大概有几层嵌套?我能想到的只有两个原因:
1. FFT计算程序或中断程序内存越界
2. 堆栈内存越界。虽然楼主改过堆栈大小,因为不知道嵌套层数,也不知道是否设得足够大。可以试试在用同样输入的情况下,修改堆栈大小,看看结果有没有变化(不一定要正确),如果有变化,应该有可能是堆栈的原因。