请问CLA中可以定义数组吗,是否有所要求,我写的如下
#pragma DATA_SECTION(i16a[2],"Cla1DataRam0");
volatile int16 i16a[2];
报错为expect a “,”
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.
请问CLA中可以定义数组吗,是否有所要求,我写的如下
#pragma DATA_SECTION(i16a[2],"Cla1DataRam0");
volatile int16 i16a[2];
报错为expect a “,”
参考示例代码如下:
#pragma DATA_SECTION(bufferB, "my_sect")
char bufferB[512];
正确的做法是:
#pragma DATA_SECTION(i16a,"Cla1DataRam0"); // 声明的地方只需要写i16a即可
volatile int16 i16a[2];
cla程序函数体中不可以定义变量,CLA和CPU数据传递只能通过RAM进行,例如:
#pragma DATA_SECTION(i16a,"Cla1ToCpuRam0") // CLA给CPU数据
#pragma DATA_SECTION(i18a,"CpuToCLARam0") // CPU给CLA数据
void CLATask1(void)
{
// 函数体中不可以定义变量
}
你好,我看见你回复楼主说CLA的函数体中不可定义局部变量,但是我在使用CLA的时候使用了局部变量而未出错,且查看相关文档发现CLA部分只规定全局和静态变量需要先用一个task初始化,并未提及函数体中不可以定义变量。请问这需要怎么理解呢?peng huifeng 说:正确的做法是:
#pragma DATA_SECTION(i16a,"Cla1DataRam0"); // 声明的地方只需要写i16a即可
volatile int16 i16a[2];cla程序函数体中不可以定义变量,CLA和CPU数据传递只能通过RAM进行,例如:
#pragma DATA_SECTION(i16a,"Cla1ToCpuRam0") // CLA给CPU数据
#pragma DATA_SECTION(i18a,"CpuToCLARam0") // CPU给CLA数据
void CLATask1(void)
{
// 函数体中不可以定义变量
}

哦,这个我还没有尝试过在CLA函数体内部去定义变量,我是按照我的一贯做法去建议的,按照建议做肯定没有错误;晚点我会测试下再回复你,学习了!
嗯好的,那我也会等你测试结果的,共同进步peng huifeng 说:哦,这个我还没有尝试过在CLA函数体内部去定义变量,我是按照我的一贯做法去建议的,按照建议做肯定没有错误;晚点我会测试下再回复你,学习了!