Код (C++): int a=highByte(score); int b=lowByte(score); int c=a<<8|b; Вот так переводятся и склеиваются в 1 число (не знаю правильно ли) а далее как c перевести обратно в int Код (C++): #include <EEPROM.h> int score; int value; byte a; byte b; byte c; void setup() { pinMode(2,INPUT_PULLUP); pinMode(3,OUTPUT); pinMode(4,INPUT_PULLUP); Serial.begin(9600); } void loop() { int a=highByte(score); int b=lowByte(score); int c=a<<8|b; EEPROM.read(1)= //а вот тут незнаю как перевести if(!digitalRead(4)==HIGH){score = 5000;EEPROM.write(1,c);} if(score == 5000){digitalWrite(3, HIGH);} } не понимаю какие переменные использовать чтобы байты в них записывать
Вам же @b707 в соседней теме уже давал ссылку с примерами, как писать/читать в eeprom что то отличное от байт. Смотрели?
Читать учебник по языку Си - раздел приведение типов. Должно выглядеть так: Код (C++): byte a; int c; с = (int) a;
ALeska811 вот это вот глупость: Код (C++): int a=highByte(score); int b=lowByte(score); int c=a<<8|b; EEPROM.write(1,c);} если идти сверху - во-первых а и b у вас байты, зачем вы их как int описали во-вторых. и это главное - "с" у вас типа int - вы с вами уже выяснили, что в ЕЕПРОМ его так записать не получится
судя по это фразе вы вообще ничего не поняли "перевод в одно число" и "перевод в инт" - это одно и то же. Для записи в ЕЕПРОМ вам надо освоить обратную операцию - как из инт или "из одного числа" сделать 2 байта