Загрузка данных



#include <Wire.h>
#include<ST7032_asukiaaa.h>
ST7032_asukiaaa lcd;
bool flag_S1 = 0; 

void IRAM_ATTR BUTTON_1() //функция-обработчик прерывания для кнопки S1
{
  flag_S1 = 1; //устанавливаем признак нажатия на кнопку S1 
}
 
void setup() {
 lcd.begin(16,2);
 lcd.setContrast(60); 
 pinMode(5,INPUT_PULLUP); 
 attachInterrupt(5,BUTTON_1,FALLING);
 Wire.begin(); /* задаем i2c мост через контакты SDA=D1 и SCL=D2 на NodeMCU */
}
 
void loop() {
  char c[11]; 
   int i = 0; 
  if (flag_S1 == 1)
  {
   Wire.beginTransmission(8); /* Начинаем передачу на адресе 8 */
   Wire.write('Hello Arduino');  /* Отправляем "hello Arduino" */
   Wire.endTransmission();    /* прекращаем передачу */
   Wire.requestFrom(8, 11); /* запрашиваем и считываем 13 байт с адреса 8 slave устройства */
   flag_S1 = 0; 
  }
   while(Wire.available())  /*пока не принимаем байты с ардуино*/
   {
       c[i] = Wire.read();  /*записываем их в массив с */
       i++; 
   }
   lcd.setCursor(0,1);
   for (i = 0; i <11; i++)
   {
    lcd.print(c[i]); 
    c[i]=' ';
   }
   delay(1000);
   
  
}