Arduino — Serial — не может управлять сервоприводом из переполнения стека

Я хотел бы спросить о моей программе. Я программирую, чтобы показать данные сенсора рыскание, шаг от Oculus на C ++ VS2013, а затем я отправляю данные с помощью serialport в Arduino (синтаксический анализ). Сервопривод не двигается, но RX в моем arduino уже мигает, когда начинается последовательное соединение.
это моя программа с ++:

int PITCH = (-1)*(int)RadToDegree(pitch) + 75;
int YAW = (int)RadToDegree(yaw) + 90;
char bintang[10] = { "*" }, koma[5] = { "," }, pagar[5] = { "#" }, kirim[10]; //out_p[10];
SerialPort arduino(port_name);
if (arduino.isConnected()) { wzPrintf(20, 130, "Connection Established"); }
else wzPrintf(20, 130, "ERROR, check port name");
sprintf_s(kirim,"%c%3d%c%3d%c", bintang,YAW,koma,PITCH,pagar);
arduino.writeSerialPort(kirim, strlen(kirim));

и это моя программа Arduino (разбор) (* (данные рыскание), (шаг данных) #):

#include <math.h>
#include <LiquidCrystal.h>
#include <Servo.h>
#include <Arduino.h>

int serv;
Servo myServo1,myServo2;

int j,i;
boolean stringComplete=false,rxSerial=false;
String inputString="";
String data[100];

void setup() {

for(int i=2;i<=7;i++){

pinMode(i,OUTPUT);

}

myServo1.attach(9);
myServo1.write(90);

Serial.begin(115200);
delay(2000);

}

void loop()
{

if(Serial.available()){

char inChar=Serial.read();

if(inChar=='#'){

rxSerial=false;

stringComplete=true;

}

if(rxSerial){

inputString+=inChar;

}

if(inChar=='*'){

rxSerial=true;

}

}

if(stringComplete){j=0;

data[j]="";

for(i=0;i<inputString.length();i++){

if ( inputString[i] == ','){

j++;

data[j]="";

}

else {

data[j] += inputString[i];

}

}// int servo1 = (data[0].toInt())-90;
int servo1 = data[0].toInt();
if (servo1 <= -85) {
servo1 = -85;
}
else if  (servo1 >= 85){
servo1 = 85;
}
//servo1 = map(servo1, -90, 90, 0, 180);
int servo2 = data[1].toInt();myServo1.write(servo1);
myServo2.write(servo2);

Serial.print(servo1);
Serial.print(",");
Serial.println(servo2);

inputString="";

stringComplete=false;

}

}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]