XC8:Connot使用定义的变量

时间:2017-09-03 04:08:14

标签: c variables xc8

我将结构定义如下:

struct _connection_info_t{
char unique_name[5];
char ip[16];
char port[5];
}WIFI_connection_info_g[2],zz[3];

在“sprintf”函数中使用WIFI_connection_info_g [0]变量:

sprintf(buffer,"AT+CIPSTART=\"TCP\",\"%s\",%s",WIFI_connection_info_g[0].ip,WIFI_connection_info_g[0].port);

当我编译上面的代码时,编译器会生成以下错误:

  

wifi_tempalte.h:290:错误:(1402)指向eeprom的指针也不能指向其他数据类型

但是当我更改“sprintf”功能并使用“zz”变量时,如下所示:

sprintf(buffer,"AT+CIPSTART=\"TCP\",\"%s\",%s",zz[0].ip,zz[0].port);

编译成功。

注1: 我的目标设备是16f1829

注2: 编译器版本是1.30

1 个答案:

答案 0 :(得分:0)

可能太大,无法一口气宣布。 您可能必须在不同的C文件中声明它的不同实例。 xc8可能会造成混淆。编译器的目标是8处理器, 倾向于保持东西 在同一页(256个RAM块)中。但是,它可能会造成混淆。