У меня есть строка: String outputValue = ""
, к которой я добавляю JSON-подобную структуру для отправки на удаленное устройство. Этот код выполняется на ATMEGA328P с использованием загрузчика Arduino. Я добавляю значения, делая outputValue += "hello"
.
Библиотеке, которую я использую для отправки значений, требуется uint8_t *
для ее полезной нагрузки с соответствующей длиной этой полезной нагрузки. Есть ли способ привести / преобразовать эту строку в массив uint8_t, или есть предпочтительный способ создать конструктор, а не использовать строку? Я открыт для любых предложений
Мой рабочий код, который я использовал для тестирования библиотеки, имеет следующий вид. Обратите внимание, что это всего лишь результат того, что я скопировал необработанное значение outputValue в Блокнот, заключил каждый символ в одинарные кавычки, а затем жестко запрограммировал этот новый массив для проверки:
uint8_t testCmd[] = { '{', '"', 'T', '"', ':', '"', 'A', '1', '"', ',', '"', 'E', '"', ':', '-', '1', ',', '"', 'I', '"', ':', '[', '[', '1', ',', '[', '[', '[', '[', '2', '5', '0', ',', '2', ']', ',', '[', '0', ',', '4', ']', ']', ']', ']', ']', ']', '}' };
ZBTxRequest txReq = ZBTxRequest(coordinatorAddr64, testCmd, sizeof(testCmd));
ZBTxStatusResponse txResp = ZBTxStatusResponse();
xbee.send(txReq);