недействительного преобразования из «байт *» до «байт»недействительно преобразование из «байт *» до «байт»
я должен написать эту Arduino функцию
byte receiveMessage(AndroidAccessory acc,boolean accstates){
if(accstates){
byte rcvmsg[255];
int len = acc.read(rcvmsg, sizeof(rcvmsg), 1);
if (len > 0) {
if (rcvmsg[0] == COMMAND_TEXT) {
if (rcvmsg[1] == TARGET_DEFAULT){
byte textLength = rcvmsg[2];
int textEndIndex = 3 + textLength;
byte theMessage[textLength];
int i=0;
for(int x = 3; x < textEndIndex; x++) {
theMessage[i]=rcvmsg[x];
i++;
delay(250);
}
return theMessage;
delay(250);
}
}
}
}
}
это ошибка
In function byte receiveMessage(AndroidAccessory, boolean) invalid conversion from byte*' to 'byte"
эта функция, чтобы получить данные из андроид и вернуть его в виде массива байтов
Вы не можете сделать это 'вернуть theMessage;' 'потому, что theMessage' является локальным переменным, а также' задержка (250) ' ничего не делает. –
есть несколько проблем: 1) оператор return возвращает «указатель на байт», но объявленный тип возврата - «байт» 2) первая задержка не нужна, поскольку вы перемещаете память в память. 3) вторая задержка никогда не будет выполнена из-за заявления о возврате перед ним. 4) когда функция завершается, массив сообщений [] не определен, поэтому необходимо malloc область и вернуть указатель на эту область malloc'd. – user3629249