Из String в Байтовый массив

Evgeniy2020

✩✩✩✩✩✩✩
12 Июл 2020
91
0
Всем добрый день. Вопрос думаю не сложный просто не могу.... прикрутить конвертацию.Мне хочется чтоб МК генерил свою трубу(для nrf24l01+) и закидывал её в масив труб, как написано в доках на RF24 делать нужно как-то так: 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());
Оно компилится, а будет ли работать правильно ?) (Щас нету мк проверить, в иде вроде компилится).
И второе :) ,а магёт Nrf строки отправлять ?
 

Un_ka

★★✩✩✩✩✩
13 Июл 2020
243
77
других форумов.
И второе :) ,а магёт Nrf строки отправлять ?
String это класс. Строки - объекты класса. По Nrf передаются последовательность бит. Структура, массив или переменная это зависит от того, чей адрес будет отправлен в функцию записи или чтения. Советую отправлять массив char.

Вот думаю будет ли так правильно работать ?
Не уверен, что будет работать nrf правильно , если адрес будет состоять из нулей.
 

Evgeniy2020

✩✩✩✩✩✩✩
12 Июл 2020
91
0
String это класс. Строки - объекты класса. По Nrf передаются последовательность бит. Структура, массив или переменная это зависит от того, чей адрес будет отправлен в функцию записи или чтения. Советую отправлять массив char.


Не уверен, что будет работать nrf правильно , если адрес будет состоять из нулей.
1. Спасибо
2. Не эт так для примера, в общем если вместо нулей напр написать 3Node то работать будет?)
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,263
1,302
Москва
Отчасти. что такое address[3] ? Точнее что такое тут 3 ? Какова размерность массива по данному "габариту" ?
пример. есть массив а[3] типа байт. У него индексы 0, 1 , 2. если будет массив a[]={124,234}, то индексы у него будут 0 и 1. Что будет если обратиться к 3-му, 4-му элементам ? Если скомпилируется , то запишет или считает данные мимо размещенной памяти. И при создании новой переменной в любом месте кода эта память может быть использована.
 

Evgeniy2020

✩✩✩✩✩✩✩
12 Июл 2020
91
0
Так за границы не вылезет и сохранность памяти будет соблюдена
Спасибо, когда попробую отпишусь!


18/07/2020
Вообщем заполучил мк в руки, проверил и..... не пашет) Вообщем надо будет еще проверить если вместо длины строки ставить 6, может так заработает. Решил проблему другим образом пока что буду вручную шить датчики и задавать в IDE адрес, а она будет адрес слать на базу. Так все работает только надо было погуглить и найти чудо функцию вообщем на стороне базе как-то так memcpy(address[2], reg_pack.person_pipe[0], sizeof(address[2]));
На стороне датчика все также ток другие данные подаю в функцию подробнее здесь. Пока что как-то так =) если что будет нового отпишу =)