c предупреждение: тег "struct" используется в именовании - PullRequest
0 голосов
/ 19 апреля 2020

Мой код работает на первый взгляд, но имхо, предупреждения - это ошибка времени ожидания при ожидании.

Arduino, предупреждение компиляции Slober 4.3.1

Большой поиск безрезультатен :(

Разве это небезопасно? go?

warning: 'struct' tag used in naming 'union frame_t' [-fpermissive]  struct frame_t rxFrame;
        ^~~~~~~ ..\Array_struct_strncpy.ino:3:7: note: 'union frame_t' was previously declared here     union frame_t  // 4 byte comms frame
union frame_t  // 4 byte comms frame
{
    byte bytes[4]; // access as an array
    struct         // access by parts
    {
        byte sof;  // frame byte 0
        struct     // frame byte 1
        {
            byte adr: 5;
            byte opc: 2;
            byte vok: 1;
        };
        union
        {
            byte val; // frame byte 2 = value
            struct    // frame byte 2 = commands
            {
                byte cmd1: 5;
                byte cmd2: 3;
            };
        };
        byte crc; // frame byte 3
    };
};

struct frame_t rxFrame; // <<< warning?

С уважением, Дэйв

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

Либо работает хорошо, большое спасибо.
"Вам необходимо дать имена своим анонимным структурам в frame_t, чтобы вы могли получить к ним доступ". Я встроил доступ в виде массива или по именам, поэтому дальнейшие имена сбивают меня с толку. rxFrame.bytes [i] или rxFrame.op c работает для меня ... тогда как rxFrame.xxx.op c менее очевиден.

0 голосов
/ 19 апреля 2020

заменить

struct frame_t rxFrame; // <<< warning?

на

frame_t rxFrame;

или

union frame_t rxFrame;

, поскольку frame_t не является struct но объединение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...