1 (edited by DeadOutside 2022-12-03 17:02:52)

Topic: Как сохранить данные пинов после перезагрузки ардуино?

// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ETHERNET_LIB_CLOUD
#include <Ethernet.h>
/* Ethernet shield used pins: 10(SS) */
#include <SPI.h>

#include <RemoteXY.h>

// настройки соединения
#define REMOTEXY_ETHERNET_MAC "DE:AD:BE:EF:EF:ED"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "517013aeb970e17fcde566d5f98b6c80"


// конфигурация интерфейса 
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =   // 27 bytes
  { 255,1,0,0,0,20,0,16,31,1,2,0,14,14,34,21,2,26,31,31,
  79,78,0,79,70,70,0 };
 
// структура определяет все переменные и события вашего интерфейса управления
struct {

    // input variables
  uint8_t switch_1; // =1 если переключатель включен и =0 если отключен

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////

#define PIN_SWITCH_1 4


void setup()
{
  RemoteXY_Init ();
 
  pinMode (PIN_SWITCH_1, OUTPUT);
 
  // TODO you setup code
 
}

void loop()
{
  RemoteXY_Handler ();
 
  digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==1)?LOW:HIGH);
 
  // TODO you loop code
  // используйте структуру RemoteXY для передачи данных
  // не используйте функцию delay()


}
Вот пример кода, знающих прошу объяснить как сделать так, что бы при перезагрузке значение выключателя сохранялось, как на самой плате, так и на экране в приложении RemoteXY. Делаю на  arduino mega 2560, перепробовал много способов, но ничего полезного не нашел. Поэтому обратился за помощью сюда

2

Re: Как сохранить данные пинов после перезагрузки ардуино?

В функции void setup() вы можете инициализировать переменные структуры RemoteXY.

void setup()  
{ 
  RemoteXY_Init ();  
   
  pinMode (PIN_SWITCH_1, OUTPUT);
   
  // TODO you setup code 
   
  RemoteXY.switch_1 = 1; // После запуска выключатель "ВКЛЮЧЕН"
} 

Как вы получите исходные значения - это ваше дело и уже не относится к RemoteXY. Можете сохранять значения в EEPROM и при старте контроллера извлекать из EEPROM.
Так же изучите документацию по ссылке https://remotexy.com/ru/help/whatiscode/

3

Re: Как сохранить данные пинов после перезагрузки ардуино?

Спасибо