C++ 用 Asio ライブラリ
1 はじめに
Asio は、ネットワーク プログラミング、低レベル I/O プログラミングなど (低レベル I/O) に一般的に使用されるクロスプラットフォーム C++ ライブラリです。その構造フレームワークは次のとおりです。
2.1 ダウンロード
AsioライブラリはBoost版と非Boost版に分かれており、公式サイトからダウンロードしてください。
2.2 構成1) Qt 5.9.1 を使用して、次の構成を .pro プロジェクト ファイルに追加します。
ASIO_STANDALONE は非 Boost バージョン
INCLUDEPATH += $$PWD/../../serialport/asio-1.10.8/includeDEFINES += ASIO_STANDALONE
2 に含める必要があることに注意してください。 ) VS 2015 を使用すると、
ASIO_STANDALONE 構成は次のようになります:
以下は簡単なシリアル通信の例であり、主な手順は次のとおりです:
シリアル ポートの作成 --> ; 設定パラメータ --> データの読み取りと書き込み#include <functional>#include "asio.hpp"#include <QDebug>using namespace asio;// 存储接收到的数据char kBuf[16];// 声明回调函数void PrintBuf();int main()
{ // 串口 COM1 io_service iosev;
serial_port port(iosev, "COM1"); // 参数设置:波特率、流控、奇偶校验、停止位、数据位
port.set_option(serial_port::baud_rate(115200));
port.set_option(serial_port::flow_control(serial_port::flow_control::none));
port.set_option(serial_port::parity(serial_port::parity::none));
port.set_option(serial_port::stop_bits(serial_port::stop_bits::one));
port.set_option(serial_port::character_size(8)); // 向串口写数据
write(port, buffer("Hello Asio", 16)); // 从串口读数据(异步) port.async_read_some(buffer(kBuf),std::bind(PrintBuf)); // 开启事件循环 iosev.run();
}// 打印接收的数据void PrintBuf()
{
qDebug() << kBuf;
}
送信/書き込み
し、次にデータの
を行います。シリアル ポートの場合、データは受信されません。 デスクトップ コンピューターの背面にある DB9 シリアル ポートのピン番号は次のとおりです。
このうち、2 --> RxD はデータ受信用のピンです。3 --> TxD はピンです。データ送信用。
上記のプログラムを正常に実行するには、プログラムを実行する前にピン 2 と 3 を短絡することで、データの送受信の両方が可能になります
4 仮想シリアル ポート。
ラップトップを使用している場合、通常はシリアル ポートがありません。この場合、解決策は 2 つあります:
USB - シリアル ポート
データ ケーブルを使用し、対応するドライバーをインストールして、デバイスと通信します。 ;次に、仮想シリアル ポート
ソフトウェアを使用して、仮想シリアル ポート ドライバーを作成しますそして、
シリアル ポート デバッグ ツールを使用すると、シリアルポートプログラム
以上がC++ 用 Asio ライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、CのNull Poernter recerferenceの課題を調査します。問題は、問題はnullではなく、その誤用であると主張しています。 記事では、参照前のチェック、ポインターInitialiなど、非参照を防止するためのベストプラクティスの詳細

この記事では、printf内の\ nエスケープシーケンスを使用してcで新しいライン文字を作成し、関数を置く方法について説明します。 機能を詳しく説明し、出力のラインブレークに使用することを示すコード例を提供します。

この記事は、Cコンパイラの選択に関する初心者を案内しています。 GCCは、使いやすさ、幅広い可用性、広範なリソースが初心者に最適であるため、最適であると主張しています。 ただし、GCC、Clang、MSVC、およびTCCも比較して、その違いを強調しています

この記事では、現代のCプログラミングにおけるNullの継続的な重要性を強調しています。 進歩にもかかわらず、Nullは明示的なポインター管理にとって重要なままであり、有効なメモリアドレスがないことをマークすることにより、セグメンテーションの障害を防ぎます。 最高のPRAC

この記事では、初心者向けのオンラインCコンパイラをレビューし、使いやすさとデバッグ機能に焦点を当てています。 OnlineGDBとRepl.itは、ユーザーフレンドリーなインターフェイスと役立つデバッグツールのために強調表示されます。 プログラムやコンパイルなどのその他のオプション

この記事では、オンラインCプログラミングプラットフォームを比較し、デバッグツール、IDE機能、標準コンプライアンス、メモリ/実行の制限などの機能の違いを強調しています。 「最良の」プラットフォームはユーザーのニーズに依存していると主張しています。

この記事では、C IDEでの効率的なコードコピーについて説明します。 コピーはコンパイラ機能ではなくIDE機能であり、IDE選択ツールの使用、コード折りたたみ、検索/交換、テンプラなど、効率を向上させるための詳細戦略であることを強調しています。

この記事では、Cプログラムのコンパイルでの出力Windowsの欠落をトラブルシューティングします。 実行可能ファイルの実行に失敗し、プログラムエラー、誤ったコンパイラ設定、バックグラウンドプロセス、迅速なプログラム終了などの原因を調べます。ソリューションにはchが含まれます
