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

نحوه نوشتن QByteArray در QSerialPort


سوال

با سلام. برای رایت دستورات در QSerialPort چندین روش هست که به ترتیب عبارتند از:

1- دستورات رشته ای:

QString str = "command\r\n";
        port->write(str.toStdString().c_str());

2- فایل های باینری:

    QFile file(":/bin/file.bin");
        if(!file.open(QIODevice::ReadOnly))return;
        QByteArray data = file.readAll();
    port->write(data);

 3- متغیر QByteArray:

که مشکل من در این قسمت هست. فرض کنید متغیر زیر تعریف شده:

QByteArray ba;
        ba.resize(100);
        ba.fill(0x00);
        ba[0] = 0x01;
        ba[8] = 0x0a;

اگر این متغیر را در یک فایل باینری ذخیره کنیم مشکلی در رایت نیست اما اگر بدون ذخیره در باینری بخواهیم در پورت سریال رایت کنیم ، عمل رایت انجام نمیشه

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


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

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

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

  • 0

با این تکه کد حل شد

QByteArray ba;
        ba.resize(100);
        ba.fill(0x00);
        ba[0] = 0x01;

        port->write(ba);
        port->flush();

 

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


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

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

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

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

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

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

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

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

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


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

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

×
×
  • جدید...