РЕШЕНО Вставить строку в массив байтов

Тема в разделе "Микроконтроллеры AVR", создана пользователем Evgeniy2017, 16 июл 2020.

  1. Evgeniy2017

    Evgeniy2017 Нерд

    Всем добрый день. Вопрос думаю не сложный просто не могу.... прикрутить конвертацию.Мне хочется чтоб МК генерил свою трубу(для nrf24l01+) и закидывал её в масив труб, как написано в доках на RF24 делать нужно как-то так:
    Код (C++):
    uint8_t address[][6] = {"1Node", "2Node"};
    Почитал уроки Алекса. Вот думаю будет ли так правильно работать ?
    Код (C++):
    uint8_t address[][6] = {"1Node", "2Node"};
    String my_person_pipe = "00000";
    my_person_pipe.toCharArray(address[3],my_person_pipe.length());
    Оно компилится, а будет ли работать правильно ?) (Щас нету мк проверить, в иде вроде компилится).
     
  2. b707

    b707 Гуру

    не будет. В массиве address. описаном как в этом коде - только две трубы и добавить больше нельзя
     
  3. Evgeniy2017

    Evgeniy2017 Нерд

    Код (C++):
    uint8_t address[3][6] = {"1Node", "2Node"};
    String my_person_pipe = "3Node";
    my_person_pipe.toCharArray(address[2],my_person_pipe.length());
    а так ?)
     
  4. b707

    b707 Гуру

    а так вроде нормально
     
  5. Evgeniy2017

    Evgeniy2017 Нерд

    Заполучил я мк) и могу сказать что код ... не пашет) Потом может попробую подставить вместо длины строки 6, может сработает =) Пока что решил вручную заполнять но потом глядишь чет придумаю. Пока делал пересылку трубы на базу столкнулся с проблемой записи в массив (от неопытности ).
    Решение нашлось быстро вообщем этим все сказано: https://stackoverflow.com/questions/33118140/invalid-array-assignment/33118393
    В структуру добавляем "поле"
    Код (C++):
    uint8_t person_pipe[1][6];
    И перед отправкой заполняем ее оказывается что тупо
    Код (C++):
    ....person_pipe[0] = address[2];
    не можна) кто-бы мог подумать :D Оказалось тема избита и вот правильно решение
    Код (C++):
    memcpy(info_data.person_pipe[0], address[2], sizeof(info_data.person_pipe[0]));
    Очень страшно, зато работает =)
    Можно было решить циклом, но приглянулся этот вариант.
    Пока что так, если будет что новенького напишу =)