sendRemoteATcommand(REMOTE_XBEE_ADDR, "IS", 2); r = readRemoteATcommand(0, &status, &data, &len, 1000); uint8_t aMask = *(uint8_t*)(data + 3); int aNum = 0; int cnt = 0; while (aMask) { if (aMask & 0x01) { uint16_t aVal = SWAP16(*(uint16_t*)(data + (6 + cnt * 2))); int voltage = aVal * 1200 / 1024; cnt++; __disable_irq(); if (aNum == 2) { temp = 20 + voltage; } __enable_irq(); } aNum++; aMask >>= 1; }