С# и Arduino Ide
- Войдите на сайт для отправки комментариев
Пт, 01/12/2017 - 13:29
Добрый день, не могу никак справиться с задачей. Необходимо из одного текст бокса в сишарпе по нажатию клавиши заполнить массив структуры из 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;
}
}
}
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...