С# и Arduino Ide

alfanex
Offline
Зарегистрирован: 01.12.2017

Добрый день, не могу никак справиться с задачей. Необходимо из одного текст бокса в сишарпе по нажатию клавиши заполнить массив структуры из 6 значений в ардуино иде, чтобы потом вывести на экран и перелистывать их кнопкой.
В коде ниже пока просто тестовый вариант, чтобы видеть идет заполнение или нет. Подскажите как это реализуется?
 

#include <LiquidCrystal_I2C.h>
 
#include <Wire.h> 
 
 
LiquidCrystal_I2C lcd(0x27, 16, 2); 
String inputString = "";         // a string to hold incoming data
boolean stringComplete = false;  // whether the string is complete
String commandString = "";
 
 
boolean isConnected = false;
 
 
struct Player 
String names; 
unsigned long id; 
}; 
 
void setup() {
  
  Serial.begin(9600);
   initDisplay();
}
 
void loop() {
  
 
 
int i=0;
if(stringComplete)
{
  stringComplete = false;
  getCommand();
  serialEvent();
  
  Player players[6];
players[0].id =78173533; 
players[1].id =1147394653;
players[2].id =232; 
players[3].id =1514;
players[4].id =144114213; 
players[5].id =12321421;
 
  if(commandString.equals("STAR"))
  {
    lcd.clear();
  }
  if(commandString.equals("STOP"))
  {
        lcd.clear();
    lcd.print("Ready to connect");    
  }
  else if(commandString.equals("TEXT"))
  {
 
 
    
    lcd.setCursor(0,0);
    players[i].names= getTextToPrint();
lcd.print(players[i].names);
       
    
     }
 
  
  inputString = "";
}
 
}
void getstringtostruct();
 
 
 
void initDisplay()
{
  lcd.init();
  lcd.backlight();
  lcd.print("Ready to connect");
}
 
void getCommand()
{
  if(inputString.length()>0)
  {
     commandString = inputString.substring(1,5);
  }
}
 
 
 
 
String getTextToPrint()
{
 
  
  String value = inputString.substring(5,inputString.length()-2);
  return value;
}
 
 
 
void serialEvent() {
  while (Serial.available()) {
    // get the new byte:
    char inChar = (char)Serial.read();
    // add it to the inputString:
    inputString += inChar;
    // if the incoming character is a newline, set a flag
    // so the main loop can do something about it:
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015