您好!
我当前项目需要 CLA。
首先、我从 RAM 运行了 IIR2P2Z 项目。 没有主要问题(必须从运行菜单加载符号)。
现在、我已经将完整的 IIR2P2Z 代码复制到了从闪存运行的非常轻量级的项目中。
但是、IIR2P2Z 函数"void CLA_RunTest (void)"不会完成。 它卡在任务8 上、蓝色调试箭头在第一行停止。 这是奇怪的、因为这个 CLA 任务中没有调试指令:
//任务8将初始化任务1中使用的变量
中断空 Cla1Task8 (空)
{
W2[0]= 1;W2[1]= 2;
W1[0]= 1;W1[1]= 2;
}
MIRUN 寄存器中的相应位设置为1、这意味着任务8仍在运行。 CLA 外设时钟被启用。
空 CLA_RunTest (空)
{
int16_t i;
float fError[NUM_SAMESSALESS];
Cla1ForceTask8andWait(); <--- 卡在这里 ---
WAITSTEP;
for (i=0;i < NUM_SAples;i++)
{
xn = fAdcInput[i];
Cla1ForceTask1andWait();
WAITSTEP;
fBiquadOutput[i]= yn;
fError[i]= fabs (iir_Expected [i]-fBiquadOutput[i]);
if (fError[i]< 0.01)
{
pass ++;
}
其他
{
FAIL++;
}
}
我是否遗漏了什么?