Не могу разобратся как объеденить помогите програмлю не давно Проблема именно вот в этих строках Код (C++): x = Serial.parseInt(); if (x>=0 && x<=255) { //a = x; // для RGB ленты a = 255-x; analogWrite(LED, a); } и это 9:50:39 PM if ((String)unitID_in == "013"){ x = Serial.parseInt(); if (((String)command_in)(x>=0 && x<=255)) { //a = x; // для RGB ленты a = 255-x; analogWrite(LED, a); } Код (C++): unsigned long x; int LED = 9; // зеленый подключен к 9 пину int LED2 = 10; // синий подключен к 10 пину int LED3 = 11; // красный подключен к 11 пину int a,b,c = 0; void setup() { Serial.begin(9600); Serial.setTimeout(4); pinMode(LED, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); } void loop() { if (Serial.available()) { x = Serial.parseInt(); if (x>=0 && x<=255) { //a = x; // для RGB ленты a = 255-x; analogWrite(LED, a); } if (x>=256 && x<=511) { //b = x-256; // для RGB ленты b = 511-x; analogWrite(LED2, b); } if (x>=512 && x<=767) { //c = x-512; // для RGB ленты c = 767-x; analogWrite(LED3, c); } /* Serial.println(x); Serial.println(a); Serial.println(b); Serial.println(c); */ } } С этим Код (C++): #include <string.h> char unitID_in[10]; char command_in[10]; char data_in[100]; void setup() { // открываем порт Serial.begin(9600); } void loop() { int i=0; char buffer[100]; //если есть данные - читаем if(Serial.available()){ delay(100); //загоняем прочитанное в буфер while( Serial.available() && i< 99) { buffer[i++] = Serial.read(); } //закрываем массив buffer[i++]='\0'; } //если буфер наполнен if(i>0){ //разбераем его на части отделенные запятой sscanf(buffer, "%[^','],%[^','],%s", &unitID_in, &command_in, &data_in); } //Исполнительная часть //Проверяем какому устройству пришли данные //тестовое устройство 001 if ((String)unitID_in == "001"){ //test serial read Serial.print("001,arduino recive: unit "); Serial.print(unitID_in); Serial.print("\n"); Serial.print("command: "); Serial.print(command_in); Serial.print("\n"); Serial.print("data: "); Serial.print(data_in); Serial.print("\n"); unitID_in [0] = '\0'; command_in [0] = '\0'; } //пример выполнения команды устройством 013 if ((String)unitID_in == "013"){ if ((String)command_in == "on"){ digitalWrite(13, HIGH);} if ((String)command_in == "off"){ digitalWrite(13, LOW);} Serial.print("001,arduino recive: unit "); Serial.print(unitID_in); Serial.print(" command "); Serial.print(command_in); Serial.print("\n"); unitID_in [0] = '\0'; command_in [0] = '\0'; } }
Вы пробовали, то что в loop(е) в первой функции переместить в loop второй функции? Что в setup(е) в первой функции перенести в setup вторую? И с библиотеками так-же! Попробуйте и смотрите, как поведет себя программа!