[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Решение для вышего случая выглядит так:
#define MAX_NAME_LEN 40//Максимальная длина строки в поле Name
typedef struct
{
......
char Name[MAX_NAME_LEN];
......
} MyType;
Достоинство: строку можно писать непоср. в структуре - наглядно.
Недостаток: каждая структура займет в flash место под максимальную длину Name, вне зависимости от реальной длины строки. В моем случае(mega103) был несущественен.
Если flash жалко, то можно попробовать объявить:
.............
__flash char *Name;
.............
но тогда инициализирующие строки придется объявлять отдельно - вне инициализатора структуры:
__flash char Name1[]="петя";
E-mail: info@telesys.ru