你好,我在使用CLA中遇到了下列问题:
定义了两组变量,一组是从CLA向CPU传输结算结果,另外一组是从CPU向CLA传输数据,在CLA中进行计算
//CPU向CLA传输的数据
#pragma DATA_SECTION(CpuInPara,"CpuToCla1MsgRAM")
Cpu2_to_Cla_Calculate CpuInPara;
//CLA向CPU传输的数据
#pragma DATA_SECTION(ClaOutPara,"Cla1ToCpuMsgRAM");
CLA_to_CPU2_Calculate ClaOutPara;
在CLA中进行读取及计算、赋值,同时在CLA中定义了一个GPIO,通过高低电平来测量计算时间
//
GPIO_HIGH;
ClaOutPara.Reslut = CpuInPara.Para*0.005;
ClaOutPara.Reslut1 = CpuInPara.Para1*0.005;
GPIO_LOW;
通过对电平的测量,发现在CLA中的赋值操作时间远大于在CPU中做同样操作的时间,如上述操作,实测整个结果需要接近20us,而在CPU中只需要不到1us,这是什么原因,是变量定义有问题还是CLA需要什么的设置才能让这个操作时间变快?