9 لایک
-
سلام
متن برنامه ای که نوشتم بصورت سطرهای زیر است . در این متن قرار بود با یک فرمان ارسالی از پورت سریال لیزر یک اندازه را برداشت کرده سپس توسط یک ماژول بلوتوث به یک تبلت ارسال کنه حالا مشکل اینه که وقتی دستور 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;
}
}
}
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین انجمن
SEO by vBSEO