USB プロトコルとケーブル接続がどのように機能するかについての詳細な説明を長い間探していましたが、うまくいきませんでした。USB のソフトウェア側とハードウェア側で物事がどのように機能するかについて、詳細でありながら過度に複雑ではない説明を探しています。リンクと説明をいただければ幸いです。私は本当にアイデアが不足しているので、助けていただければ幸いです。
これは私が知っていることです:
USB ハードウェアは、5V 電源、グランド、および 2 つの全二重ラインの 4 つのラインを伝送します。
接続時に、デバイスは指定された量の電流を要求できます。
USB の転送速度は、従来のシリアル接続に比べて非常に高速です。
接続時に、デバイスは自身を説明する記述子をホストに出力します。これらの記述子は、データにも使用されます。
私が知らないこと:
C/C++ のプログラムはどのようにして USB ポートに直接書き込みますか? ポート内のアドレスに書き込みますか?
一部のデバイスは、自身を HID としてどのように説明していますか?
ドライバーはどのように機能しますか?
ほかのすべて...
ありがとうございました!