GDK3 を使用してマジック キーボード エクスペリエンスを開発する

序文

GDK3 (GEDU Development Kit 3) は、ARM Cortex-M3 SoC に基づいて Gedu Technology によって設計された開発ボードであり、CPU フレームワークは ARMv7-M です。同社の他の関連ソフトウェアおよびハードウェア ツールと併せて、ARM および組み込み製品の学習に使用できます。この製品は、サイズが小さく、消費電力が低く、機能が非常に強力です。ここに画像の説明を挿入

1. 開発目標

GDK3 は、キーボード イベントを自動的に送信する特殊なキーボード デバイスとして開発されており、ユーザーの観点から見ると、コンピューターのキーボードが魔法のように自動的に入力できるので、非常に楽しく興味深いものです。

接続図

ここに画像の説明を挿入

作業過程

通常、キーボードは上のコンピュータから下のコンピュータに送信される必要がありますが、ここでは、GDK3 で動作するプログラムを変更して、上のコンピュータを使用せずに GDK3 が独自にキーボード イベントを直接送信できるようにし、下のコンピュータで受信してテストします。

2. 開発プロセス

1. gekm プロジェクトをベースに開発した gekm プロジェクトのソース コードを紹介します。

ここに画像の説明を挿入

2. 元の gekm プロジェクトをテストする 元のプロジェクトの機能とロジックが正しい場合にのみ、それに基づいて新しいプロジェクトを開発できます。

a. GNU ツールを開いてコンパイルします

b. gcc gdb などのコンパイルおよびデバッグ ツールのパスを導入します:
export PATH=/d/gedu_work/GNU/bin/:$PATH
ここに画像の説明を挿入
c. プロジェクトが存在する作業ディレクトリに切り替えます:
cd /d/gedu_work/gdk3/sdk/src/gekm/
ここに画像の説明を挿入
d. コンパイルを開始します
make -s
>ここに画像の説明を挿入
e. 書き込み、実行します
!program D:\\gedu_work\\gdk3\\sdk\\src\\gekm\\gekm.hex
!reset
ここに画像の説明を挿入
f. GDK3 かどうかを確認します
USB デバイスとして認識され、開くことができます。 usbview ソフトウェアは、GKD3 の USB ポートに接続されているホストを観察するために使用されます。(usbview は、システム内のすべての USB デバイスを列挙し、各デバイスの詳細情報を表示できる USB デバイス ビューアです)。
ここに画像の説明を挿入
g. この時点でテストは完了し、元の gekm プロジェクトは正常です。

3. テストが完了したら、元のプロジェクトに基づいて Magic Keyboard プロジェクトを開発できます。

a. 独自のキーボード送信関数を作成し、この送信関数を main 関数で呼び出します。

void KB_Send_Data(void)
{
    
    
    // 测试发送 gedu
    uint8_t KB_Data[8] = {
    
    0, 0, KC_G, KC_E, KC_D, KC_U, 0, 0};
    uint8_t KB_Empty[8] = {
    
    0};

    // 开始发送数据
    Delay_Ms(700); 
    USBHD_Endp_DataUp(DEF_UEP1, KB_Data, sizeof(KB_Data), DEF_UEP_CPY_LOAD);
    Delay_Ms(700);
    USBHD_Endp_DataUp(DEF_UEP1, KB_Empty, sizeof(KB_Empty), DEF_UEP_CPY_LOAD);
    Delay_Ms(700);
}

b. プログラムを再コンパイルします
make -s
ここに画像の説明を挿入
c. プログラムを書き込み、再起動します
!program D:\\gedu_work\\gdk3\\sdk\\src\\gekm\\gekm.hex
!reset
ここに画像の説明を挿入
d. テキスト エディタを開いてプロジェクトの結果を確認します
ここに画像の説明を挿入
上記の結果が表示されれば、マジック キーボードの開発が成功したことを意味します。そして、このマジック キーボードは、単一文字の送信をサポートするだけでなく、Shift Ctrl Alt などの送信もサポートします。この機能を使用して、ゲームでコンボを送信したり、意味のあるテキストを送信したりするなど、より興味深いプロジェクトを開発できます。

3. まとめ

私自身の専門的な知識が十分ではなく、組み込み開発の経験も浅いので、このプロジェクトを始めるときは、常にソースを追跡し、理解することを考え、考えを整理してから実行することを常に考えていました。それは愚かです 長い間見ても、実質的な進歩はありませんでした 張先生は、「アイデアやアイデアがあれば、試してみてください。ここで夢を見ないでください。アイデアが実現できるかどうかは、次の方法でのみ検証できます」と指摘しました。ここで夢見ても結果は出ないよ。そのため、アイデアを思いつくたびにテストして記録します。この検証の過程で、このプロジェクトへの理解が少しずつ深まっていくと同時に、頭の空想よりも実践の方がはるかに現実的であることも理解できました。

最後に、小さなお友達の写真を載せてください。
画像の説明を追加してください

おすすめ

転載: blog.csdn.net/iuu77/article/details/128544871