رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران
  • 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 استفاده کنید که البته کیوت ساپورت نمی‌کنه

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


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

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


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

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

×
×
  • جدید...