رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران
  • 0
GornerLabo

ذخیره دلخواه مقدار بازگشتی پورت سریال در Qt


سوال

ارسال شده در (ویرایش شده)

با سلام خدمت اساتید محترم. اگر بخواهیم مقدار بازگشتی از رایت چندین دستور در مورد کلاس QSerialPort به صورت دلخواه ذخیره کنیم باید به چه شکل عمل کرد؟

 

کد زیر برای دستوری است که عمل رایت دستور را انجام میدهد:

port->setPortName(""); // COM PORT NAME
port->setBaudRate(QSerialPort::Baud9600);
port->setFlowControl(QSerialPort::NoFlowControl);
port->setParity(QSerialPort::NoParity);
port->setDataBits(QSerialPort::Data8);
port->setStopBits(QSerialPort::OneStop);
port->open(QSerialPort::ReadWrite);

if(port->isOpen())
{

port->write(); // command 1 for write
port->write(); // command 2 for write
port->write(); // command 3 for write
port->write(); // command 4 for write

}

حالا برای هر دستور رایت یک مقدار بازگشتی دریافت خواهیم کرد. پس میتوان با connect سیگنال readyRead با یک اسلات به صورت کد زیر این مقدار بازگشتی رو ذخیره کرد:

connect(port,SIGNAL(readyRead()),this,SLOT(MySlot()));


QByteArray b = port->readAll();
QFile file("e:/test/raw.bin");
if(!file.open(QIODevice::WriteOnly | QIODevice::Append))return;
file.write(b);
file.flush();
file.close();

حالا اگر بخواهیم مقدار بازگشتی رو از دستور رایت مشخصی دریافت کنیم ، شیوه صحیح کار چطور است؟

ویرایش شده در توسط GornerLabo

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 1

راهی نداره. باید با تحلیل داده‌های رسیده از پورت استنتاج کنید که جواب کدام دستور ارسال شده بوده. 

یک راه دیگه اینه که از پروتکل‌های پیچیده‌تر مثل McBSP یا Multichannel Buffered Serial Port استفاده کنید که البته کیوت ساپورت نمی‌کنه

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×