我最开始就是8个,然后我看到错误信息里面说好像是什么数组越界,我查看了一下字符数组中还有一个'\0'的结束符,在标准C中,定义数组的时候好像是要多一个,但是我改了之后仍然出错,而且报错原因是一样的,后来我又改到了20,仍然不行,还是报同样的错,搞不明白,唉。。。。。。
我刚刚新建了一个工程,就把上面的那个结构体复制到工程里面,在main函数前进行定义,在main函数中进行初始化赋值,然后程序进入while死循环,但是编译的时候程序还是报同样的错误
这个是我新建的工程:这个程序再简单不过了,但是还是报同样的错。
#include <stm32f10x_lib.h>
struct MyStructure{
u8 Data_SetADD_HEX[20];
u8 Data_ReadADD_HEX[20];
u8 Data_SetRangeVLD_HEX[20];
u8 Data_ReadRangeVLD_HEX[20];
u8 Data_ReadPitchRoll_HEX[20];
u8 Data_ReadVLD_HEX[20];
u8 Data_ReadVolTemp_HEX[20];
}Message;
int main(void)
{
Message.Data_SetADD_HEX[20] = {0xAA,0xAA,0x06,0,0,0,0,0};
Message.Data_ReadADD_HEX[20] = {0xAA,0xAA,0x06,0,0,0,0,0};
Message.Data_SetRangeVLD_HEX[20] = {0xAA,0xAA,0x09,0,0,0,0,0,0,0,0};
Message.Data_ReadRangeVLD_HEX[20] = {0xAA,0xAA,0x09,0,0,0,0,0,0,0,0};
Message.Data_ReadPitchRoll_HEX[20] = {0xAA,0xAA,0x0D,0,0,0,0,0,0,0,0,0,0,0,0};
Message.Data_ReadVLD_HEX[20] = {0xAA,0xAA,0x09,0,0,0,0,0,0,0,0};
Message.Data_ReadVolTemp_HEX[20] = {0xAA,0xAA,0x0D,0,0,0,0,0,0,0,0,0,0,0,0,0};
while(1)
{}
} |