Я пытаюсь преобразовать строку Arduino в массив uint8_t
с помощью функции .toCharArray()
библиотеки Arduino String.
Это функция, в которой появляется предупреждение:
void sendData(String string) {
uint8_t buf[string.length()];
string.toCharArray(buf, string.length());
rf69.send(buf, sizeof(buf));
}
И это ошибка:
C:\Users\XX\Documents\Arduino\Transmitter\Transmitter.ino: In function 'int toInt(String)':
C:\Users\XX\Documents\Arduino\Transmitter\Transmitter.ino:42:40: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'char*' [-fpermissive]
string.toCharArray(buf, sizeof(buf));
^
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:231:0,
from sketch\Transmitter.ino.cpp:1:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/WString.h:161:7: note: initializing argument 1 of 'void String::toCharArray(char*, unsigned int, unsigned int) const'
void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const
Странная вещь в том, что он уже работает так, без каких-либо ошибок или предупреждений.
Может кто-нибудь сказать мне, чтоЯ тут не прав?