парсинг строк

zifoon13
zifoon13 аватар
Offline
Зарегистрирован: 07.11.2018

#include <SoftwareSerial.h>
#include <RCSwitch.h>
int rele[3];

String valin = "";

int miq;
int miw;
int mie;
int mir;
int mit;
int miy;
int miu;
int mii;
int miol;

String msq;
String msw;
String mse;
String msr;
String mst;
String msy;
String msu;
String msi;
String msol;
String msok;



int time1;
int time2;
int time3;
int time4;

long kolvo;

long kol;

RCSwitch mySwitch = RCSwitch();

void setup() {
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available() > 0) {
    
    int value = mySwitch.getReceivedValue();
    
    if (value == 0) {
   //   Serial.print("Unknown encoding");
    } else {
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );
      delay(500);
    }

    mySwitch.resetAvailable();
  }

int inval = Serial.parseInt(); 
if (inval == 11) {
digitalWrite (5, HIGH);
}

if (inval == 21) {
digitalWrite (6, HIGH);
}
if (inval == 31) {
digitalWrite (7, HIGH);
}
if (inval == 41) {
digitalWrite (8, HIGH);
}
if (inval == 10) {
digitalWrite (5, LOW);
}
if (inval == 20) {
digitalWrite (6, LOW);
}
if (inval == 30) {
digitalWrite (7, LOW);
}
if (inval == 40) {
digitalWrite (8, LOW);
}



if (inval > 45){  
  
  String valin;
valin= String(inval);
char mas[20];
valin.toCharArray(mas, 20);
Serial.println("запуск парсинга");
  
 miq = msq.toInt();
miw = msw.toInt();
mie = mse.toInt();
mir = msr.toInt();
mit = mst.toInt();
miy = msy.toInt();
miu = msu.toInt();
mii = msi.toInt();
miol = msol.toInt();
  
if (mas[0] = 1) {
 msol = msq + msw;
msok = msol + mse;
msol = msok + msr;
msok = msol + mst;
msol = msok + msy;
msok = msol + msu;
msol = msok + msi;

Serial.println("узнал номер реле");

}
if (mas[0] = 2) {
 msol = msq + msw;
msok = msol + mse;
msol = msok + msr;
msok = msol + mst;
msol = msok + msy;
msok = msol + msu;
msol = msok + msi;

  
Serial.println("узнал номер реле");


}
if (mas[0] = 3) {
   msol = msq + msw;
msok = msol + mse;
msol = msok + msr;
msok = msol + mst;
msol = msok + msy;
msok = msol + msu;
msol = msok + msi;

  
Serial.println("узнал номер реле");


}
if (mas[0] = 4) {
   msol = msq + msw;
msok = msol + mse;
msol = msok + msr;
msok = msol + mst;
msol = msok + msy;
msok = msol + msu;
msol = msok + msi;

  
Serial.println("узнал номер реле");


}
time1 = msol.toInt();
Serial.println(time1);



}

}



 Надо чтобы я прислал команду типа 21000 - где первая цифра ето номер реле( всего их 4 ) а остольные ето время на которое я хочу включить реле(после окончания таймера реле виключилось) я хотел зделать так чтобы все переводилось в массив, первая цифра ето била номер реле, а остольние - время. код не доделан потому, что не приходит время. я новичок - строго за код не судите.








 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Кому надо ? Зачем надо ? Почему надо ? Никто не запрещал ? 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

это заклинание такое, для лексического онализатора, кричишь в него:  "ПАРСИНГ СТОРК!!!" и все само раскладывается по таблицам имён. 

zifoon13
zifoon13 аватар
Offline
Зарегистрирован: 07.11.2018

 шутки шутками, а код я не могу доделать(

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

значить, надо спросить у автора кода

b707
Offline
Зарегистрирован: 26.05.2017

zifoon13 пишет:

 шутки шутками, а код я не могу доделать(

 

а стоит ли? Там коде жуткая жуть... Не пользуйтесь таким "подсказками", найдите что-нибудь по-приличнее... а лучше пишите свое.