парсинг строк
- Войдите на сайт для отправки комментариев
Втр, 26/03/2019 - 23:06
#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 ) а остольные ето время на которое я хочу включить реле(после окончания таймера реле виключилось) я хотел зделать так чтобы все переводилось в массив, первая цифра ето била номер реле, а остольние - время. код не доделан потому, что не приходит время. я новичок - строго за код не судите.
Кому надо ? Зачем надо ? Почему надо ? Никто не запрещал ?
это заклинание такое, для лексического онализатора, кричишь в него: "ПАРСИНГ СТОРК!!!" и все само раскладывается по таблицам имён.
шутки шутками, а код я не могу доделать(
значить, надо спросить у автора кода
шутки шутками, а код я не могу доделать(
а стоит ли? Там коде жуткая жуть... Не пользуйтесь таким "подсказками", найдите что-нибудь по-приличнее... а лучше пишите свое.