ハードウェアデバイスと対話するためのC++クラスのセットがあるかどうか疑問に思いました。つまり、シリアルやパラレルなどのI/Oトラフポートです。
いくつかの情報を見つけましたが、Cでのみ、C++クラスがすでに作成されていることを願っています。
組み込みハードウェアは通常プロプライエタリであるため、そのようなライブラリには、何らかのハードウェア抽象化レイヤーが必要です(これはCとC ++の両方に当てはまります)。UARTとGPIOは比較的些細なことですが、同時に非常にチップ固有であり、多くの場合、アプリケーション固有の要件もあるため、このようなライブラリの有用性には疑問があります。
アプリケーション層コードがプラットフォーム間で移植可能になるように、これらのリソースへの一般的な抽象インターフェイスを定義すると便利な場合がありますが、使用可能な汎用インターフェイスは要件に合う場合と合わない場合があります。したがって、他の人の実装に制約されるよりも、独自の設計を実装して再利用する方がよい場合がよくあります。
適切なCライブラリが見つかった場合、最も簡単なアプローチは、適切なC++ラッパーを実装することです。CコードはC++と完全に相互運用可能です。
プラットフォームの標準CライブラリがUARTなどのデバイスでstdioをサポートするように移植されている場合、標準C ++ iostreamライブラリは機能しますが、フレーミングとボーレートを設定するための標準の低レベルインターフェイスを提供しません。これは、直接またはカスタムioctl()コマンドを介して実装できます。ストリームI/Oセマンティクスが適切な場合は、他のデバイスやファイルシステムに低レベルのドライバーを実装して、iostreamを介したアクセスを許可できます。
答えは、ターゲットプラットフォームによって異なります。http://www.arduino.cc/は、すべてのI/OをC++でラップします。