Mini210S 開発キットOSなしのプログラム開発手順連載(12)

Mini210S/Tiny210等開発ボード関連のフォラーム

Mini210S 開発キットOSなしのプログラム開発手順連載(12)

投稿記事by dwtechadm » 金 5 10, 2013 3:20 pm

Mini210S 開発キット詳細URL


第X章 クエリモード・検出キー



第一節 回路図
Mini210Sには4つのユーザーキーがあります、下記はkey1回路図、残りの3つのボタンの回路図はKEY1を類似します:
画像
キー回路図
“XEINT16/KP_COL0゛を検索、
画像

キー・ピン図



第二節 プログラム説明
完全なコードは、ディレクトリ9.key_ledご参照ください。main.c中のコードを抜きました、他のコードは8.buzzerとほぼ同じです。
1. main.c
コアコードは:
// ポーリングモードでキーイベントを検索
while(1)
{
dat = GPH2DAT;
if(dat & (1<<0)) // KEY1 押され、 LED1点灯、or LED1 消し
GPJ2DAT |= 1<<0; // OFF
else
GPJ2DAT &= ~(1<<0);   // ON
if(dat & (1<<1)) // KEY2押され、 LED2点灯、or LED2消し
GPJ2DAT |= 1<<1;
else
GPJ2DAT &= ~(1<<1);
if(dat & (1<<2)) // KEY3押され、LED3点灯、or LED3消し
GPJ2DAT |= (1<<2);
else
GPJ2DAT &= ~(1<<2);
if(dat & (1<<3)) // KEY4押され、LED4点灯、or LED4消し
GPJ2DAT |= 1<<3;
else
GPJ2DAT &= ~(1<<3);
}

プログラムは簡単で、まずGPJ2_0/1/2/3ピンを出力機能・GPH2_0/1/2/3ピンを入力機能と配置し、そしてポーリング検出方式でGPH2_0/1/2/3ピンの値を読み取って、そしてキーが押されたと検出された時、対応のピンをローレベルと変えて、対応するLEDが点灯します、そうではいと、LEDが消灯状態に留まります。



第三節 コードコンパイルとプログラミングの実行
コードをコンパイルし、Fedora端末で下記のコマンドを実行します:
# cd 9.key_led
# make
9.key_ledのディレクトリ下にkey_led.binを生成し、それを開発ボードにプログラムします。


第四節 実験現象
ボタンが押されていない、すべてのLEDが消灯状態を保てます。キーkey1を押すと、LED1が点灯し、キーkey1を離すと、LED1が消灯します。残りの3つのボタンも同じようになります。ポーリング検出方式ではCPU使用率が掛かり過ぎます、CPUが他の作業をできませんので、後の章では割り込み方式でキーの押し状態を検査します。






---続く
dwtechadm
 
記事: 60
登録日時: 月 2 25, 2013 1:35 pm

Return to Cortex-A8関連

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[0人]