Linux学習キット

Linux学習キット PCB-10100 のページです。

PCB10100_pic1.jpg

機能

  • 16x2文字キャラクタ液晶
  • 押しスイッチ 5個 (うち割り込み発生4個)
  • 7セグメントLED 3桁
  • 赤色LED8個

特長

  • 7セグメントLED 3桁と 赤色LEDはダイナミック点灯方式で制御します。
    組み込み装置の基本的な制御方法を学習できます。

接続方法

PCB10100_pic2.jpg

  • MB760の CN5 と PCB10100 の CN1 をケーブルで接続します。
  • 電源(+5V) を CN2に入力します。

注意; STN, TFT 液晶パネルと同時に使用することはできません。

回路図はこちらです。 file学習キット回路図.pdf

デバイスドライバ

スイッチ部分

スイッチは左から SW4, SW3, SW2, SW1, SW0 となっています。
接続先 GPIO ポートはそれぞれ

スイッチSW4SW3SW2SW1SW0
ポートPD6PE5PE4PE3PE2
割り込み-

割り込みは全て GPIO 割り込み (IRQ=33) になります。
(詳しくは回路図参照)

汎用GPIOドライバを使って読みだすことができます。

filegpiodrv.tgz

 ■ ドライバの使い方

 echo "O" > /dev/gpio/ptf3
 echo "1" > /dev/gpio/ptf3

 などとする。文字は1文字のみ受け付ける。下記の文字を受け付ける

 I    大文字のI                     プルアップ有効入力ポートに切り替えます
 i    小文字のi                     プルアップ無し入力ポートに切り替えます
 O    大文字のO                     出力ポートに切り替えます
 1,H    数字の1もしくは大文字のH    Highを出力します
 0,L    数字の0もしくは大文字のL    Lowを出力します
 A    大文字のA                     1マイクロ秒の Highパルスを出力します
 N    大文字のN                     1マイクロ秒の Lowパルスを出力します

シェル上でSW4を読みだす手順は次の通りです

# echo I > /dev/gpio/ptd6
# cat /dev/gpio/ptd6
1
1
1
1
CTR+C で停止

SW4〜SW0 を読みだすテストプログラム。filemain.c

割り込みの試験プログラム

SW3〜SW0 (SW4以外)は割り込み発生が可能です。割り込みの試験ドライバです。

このドライバは

  • open() すると割り込みを有効にする
  • read() すると割り込み発生まで停止し、割り込み数を数えて返す
  • close() すると割り込みを停止する

filesw_irq.tgz

メジャー番号マイナー番号ファイル名適用
2490/dev/swirq0SW0
2491/dev/swirq1SW1
2492/dev/swirq2SW2
2493/dev/swirq3SW3

デバイスファイルを作る

CAT760で
# rommode rw
# mknod /dev/swirq0 c 249 0
# mknod /dev/swirq1 c 249 1
# mknod /dev/swirq2 c 249 2
# mknod /dev/swirq3 c 249 3

試してみる

# cat /dev/swirq0

7セグメントLED, 赤色LED部分

fileedukit_driver.tgz

メジャー番号マイナー番号ファイル名適用
2420/dev/8led赤色LED8個
2421/dev/7seg7セグメントLED

デバイスファイルを作る

CAT760で
# rommode rw
# mknod /dev/8led c 242 0
# mknod /dev/7seg c 242 1

使い方

CAT760で
# echo ' * * * *' > /dev/8led
# echo "456" > /dev/7seg

ダイナミック点灯を手作業で試す

汎用GPIOドライバを使い、ダイナミック点灯を手作業で試します。

桁の制御

百の桁十の桁1の桁赤色LED
信号名COL3COL2COL1COL0
ポートPA7PA6PA5PD4
制御方法Lで選択。Hで非選択

点灯するLEDの制御

7seg.png

LED名DotGFEDCBA
信号名LED7LED6LED5LED4LED3LED2LED1LED0
ポートPC7PC6PC5PC4PC3PC2PC1PC0
制御方法Hで点灯、Lで消灯

したがって、例えば百の桁の、真ん中の棒(G)を点灯させるには、

  • 百の桁 (COL3) PA7 を L にする
  • GのLED(LED6) PC6 を H にする を行えばよいことがわかります。

ダイナミック点灯を行っているデバイスドライバをアンロードする

# rmmod edukit_drv

百の桁を選択し、それ以外は非選択にする

# echo L > /dev/gpio/pta7
# echo H > /dev/gpio/pta6
# echo H > /dev/gpio/pta5
# echo H > /dev/gpio/ptd4

LED6を点灯し、それ以外は消灯する

# echo H > /dev/gpio/ptc6
# echo L > /dev/gpio/ptc7
# echo L > /dev/gpio/ptc5
# echo L > /dev/gpio/ptc4
# echo L > /dev/gpio/ptc3
# echo L > /dev/gpio/ptc2
# echo L > /dev/gpio/ptc1
# echo L > /dev/gpio/ptc0

16x2文字キャラクター液晶部分

filelcdmodule2.tgz

メジャー番号マイナー番号ファイル名適用
2430/dev/lcdキャラクタ液晶

デバイスファイルを作る

CAT760で
# rommode rw
# mknod /dev/lcd c 243 0

使い方

CAT760で
# echo 'hello' > /dev/lcd

関連