09-07-2019, 19:58
Cześć,
mam następujący problem. Z brokera mqtt dostaję payload w postaci: A8,43,00,00,00,00,26,1E są to symbole Ascii reperezentujące bajty w Hex. Potrzebuję te dane wysłać przez software serial do urządzenia. Przerabiam payload kodem:
Dlaczego ten kod nie działa?
00,00,26,1EA8,43,00,00,00,00,26,1E
mam następujący problem. Z brokera mqtt dostaję payload w postaci: A8,43,00,00,00,00,26,1E są to symbole Ascii reperezentujące bajty w Hex. Potrzebuję te dane wysłać przez software serial do urządzenia. Przerabiam payload kodem:
Kod:
char myChars[] = {"A8,43,00,00,00,00,26,1E"};
char *ptr;
unsigned char result[8];
char temp[2];
int count = 0;
ptr = strtok(myChars, ",");
while (*ptr)
{
strcpy(temp, ptr);
result[count] = (unsigned char)strtoul(temp, 0, 16);
count++;
ptr = strtok(NULL, ",");
}
for (unsigned int i = 0; i <= 7; i++)
{
Serial.print((char)result[i]);
}
00,00,26,1EA8,43,00,00,00,00,26,1E