■ 目次
このマトリクスLEDのデータシートが見当たらなかったので、ネットで見つけた情報を記録しておく。
まず、ピン配置は次の通り。
これらのピンが以下のようにROW(行)とCOL(列)に対応している。
ROW 1 2 3 4 5 6 7 8 PIN No. 16 1 14 13 5 6 9 8 COL 1 2 3 4 5 6 7 8 PIN No. 7 4 3 2 10 11 12 15
また、このLEDは COL → ROW に電流が流れることで点灯するように設計されているので、
LED_C1〜C8を「Active High」、LED_R1〜R8を「Active Low」に設定すること。
導入教育で、マイコンブのチュートリアルである「PSoC1duino マトリクスLED編」に取り組んでいたが、どうにも上手くいかなかった。
先のデータシートの行方が分からなかったのも一つの要因であるが、ページに記載されていたコードに不備があったようだ。良く見ると、コード中4行目のTimer8ユーザモジュールの宣言(?)部分の関数名が抜け落ちていた。
訂正前:#pragma interrupt_handler
訂正後:#pragma interrupt_handler Timer8_1_ISR
なお、現在はページを修正し、正しく動作するようなコードとなっている。
また、タイマーを用いたダイナミック駆動では、クロックの周波数を落とすことで、
任意のLEDを一斉に点灯させるのではなく、順番に点灯させることも可能。
タイマーのモジュールパラメータにおけるClockの参照元かPeriodの数字を大きくすると動作は遅くなる。