我目前正致力于通过USB线缆使用HID进行设备之间的通信。我正在从Android设备发送一个UTF-8编码的字符串,并希望在我的Arduino Leonardo上接收和阅读它。
我的问题是我无法将收到的消息收到任何其他类型。我需要进行人类可读的字符串比较,因为我向Arduino发送了各种命令。无论我如何尝试转换收到的消息,IDE都会出现类型不匹配问题。我尝试过很多不同的东西,但我会发一个例子。我确定有一些我错过的东西让我无法得到这个!
int n;
n = RawHID.recv(buffer, 0); // 0 timeout = do not wait
if (msUntilNextSend > 2000) {
msUntilNextSend = msUntilNextSend - 2000;
// String mystr = "";
// byte charbuff[10];
//
// for (int i = 0; i < 64; i++)
// {
// mystr.concat((char) buffer[i]);
// }
//
// mystr.toCharArray(charbuff, 10);
char readin[64] = { ' ' };
readin = (char *)buffer;
String myString = String((char *)buffer);
if (strcmp(readin, "test") == 0)
{
String resp = "response";
resp.getBytes(buffer, 64);
n = RawHID.send(buffer, 100);
}
我已经提到了一些不同方法的评论,但正如我所提到的,我的尝试都没有成功。任何见解都表示赞赏!