我正在和一个UNO合作,我正在使用带有软spi的maniacbug的RF24库以及他的rf24network库。 https://github.com/maniacbug/RF24Network
我所要做的就是发送数据,但我遇到了错误的数据类型。
{
last_sent = now;
printf("Sending...\r\n");
const char* hello = "Hello, world!";
RF24NetworkHeader header(/*to node*/ other_node);
bool ok = network.write(header,hello,strlen(hello));
if (ok)
printf("\tok.\r\n");
else
{
printf("\tfailed.\r\n");
delay(250); // extra delay on fail to keep light on longer
}
}
如果我将其更改为
bool ok = network.write(header,myString,strlen(myString));
我收到数据类型错误。那么我如何让我的字符串适合这个结构。我的想法是myString.toCharArray然后循环通过那?
答案 0 :(得分:1)
首先将String转换为char数组:
size_t len = myString.length();
char buf[len+1]; // +1 for the trailing zero terminator
myString.toCharArray(buf, len);
然后您可以传递buf
:
bool ok = network.write(header,buf,strlen(buf));