Получаю данные с датчиков на attiny13, получаю 3 байта, номер датчика, старший бит температуры и младший бит температуры. отправляеться по 433МГц.
ESP принимает эти данные все три байта приходят как положено но при преобразование их в температуру выдает 0. на другой плате Uno без ESP, данные приходят и правильно обрабатываються код тот же самый, температуру показывает правильно.
Если подставлять просто числа не с массива то работает
ESP принимает эти данные все три байта приходят как положено но при преобразование их в температуру выдает 0. на другой плате Uno без ESP, данные приходят и правильно обрабатываються код тот же самый, температуру показывает правильно.
Если подставлять просто числа не с массива то работает
Код на ESP:
byte data[3];
int32_t a=(data[1]<<8)|data[2]; // и int16_t и int32_t пробовал тоже самое 0
if (rx.readData(data)) {
Serial.println(a/16); // должна вывести температуру в цельсиях
///чтото тут делает.....
}
Вот так работает:
byte r=233;
byte t=55;
uint32_t a=(r<<8)|t;
if (rx.readData(data)) {
Serial.println(a,BIN);
///чтото тут делает.....
}