سلام
متن برنامه ای که نوشتم بصورت سطرهای زیر است . در این متن قرار بود با یک فرمان ارسالی از پورت سریال لیزر یک اندازه را برداشت کرده سپس توسط یک ماژول بلوتوث به یک تبلت ارسال کنه حالا مشکل اینه که وقتی دستور H یا D ارسال میشه ماژول اندازه برمیداره ولی مقدار برگشتی وجود ندارد و شرط if (lasermeter.available عمل نمی کنه ؟ مشکل از کجا می تونه باشه
#include <SoftwareSerial.h>
String inputString = ""; // a string to hold incoming data
boolean stringComplete = false; // whether the string is complete
const int buttonPin = 7; // the number of the pushbutton pin
int buttonState = 0; // variable for reading the pushbutton status

SoftwareSerial mySerial(15, 14); // RX, TX
SoftwareSerial lasermeter(3, 2); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(115200);

pinMode(buttonPin, INPUT);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}


Serial.println("For PC");
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
mySerial.println("BLUTOOTH?");
lasermeter.begin(115200);
}

void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
{
//inputString == Serial.read();
lasermeter.write(Serial.read());
mySerial.write("D");
}
if (digitalRead(buttonPin) == HIGH) //بررسی کلید دستور اندازه برداری
{
lasermeter.println("H");
delay (500);
Serial.println(lasermeter.read());
while (digitalRead(buttonPin) == HIGH);
{
if (lasermeter.available())
Serial.println(lasermeter.read());
}
}


if (lasermeter.available())
Serial.write(lasermeter.read());

stringComplete = false;
}
}

}