Arduino並みの手軽さと高性能32bitを手に入れたプロトタイピングキットと皆さんがレビューされていたにも拘らず
何となくPrimer2の自由度の低さがトラウマになっていて「プロトうんちゃら」に触手が伸びなかったのですが、Twitterのフォロワーの皆様のブログなりつぶやきをみてて買ってしまいました。@秋月
LPC1768搭載のmbedです。ARM社によれば
mbed ライブラリは、低レベルのARM® CortexTMマイクロコントローラ・ ソフトウェア・ インタフェース規格(CMSIS)を発展させたもので、ベンダに依存しないCortex-Mプロセッサ・ シリーズ向けのハードウェア抽象化レイヤです。
とのこと。(参照元はこちら)
そのうちPSoC5バージョンなども出してくれると嬉しいです。で、詳しいレビューは他の方に任せるとして(マタソノ手カヨ。 オイ
せっかくOLEDあるんだし、使ってみようという事で使ってみました。
基本的なOLED制御用コードは前回OLEDをPSoCで制御したときのプログラムと変わりません。
ただし、mbedの特徴を生かす事にしました*1。
mbedはテキストデータを内蔵ストレージに保存し、fopenで参照する事ができるので、これを活かし2バイト文字を参照する事にしました。
非漢字607種を含むJIS第1水準・第2水準で6962文字必要ですが面倒くさいなーと思っていたところ、sim様がmbedで既に日本語表示を華麗な手法で実現されていたので、ごっそり頂いてしまいました。畏れ多く、二度とsim様の方角に足を向けて寝る事ができません。お住まいはどちらなのでしょうか…。
フォントデータのテーブルは大人の事情で一部とびとびの値を持っているため、決めうちで*2フォントデータの配列にジャンプさせる事ができません。
こちらのフォントデータアクセス用テーブルもsim様のプログラムを頂戴しました。
ごめんなさい。ほぼ全パクりですorz
テキストデータを用意します。たとえば次の内容を改行無しでtest.txtという名前で保存します。エンコードはShift JISです。
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで始めて人間というものを見た
mbedに保存します。
普通にUSBフラッシュと同じ手法です。ただのドラッグ&ドロップで保存。
この内容をmbedで参照するにはこのようにするそうです。(参考元はこちら)
LocalFileSystem local( "local" ); char s[ 256 ]; FILE *fp; printf( "\r\nreading a message file.\r\n" ); if ( NULL == (fp = fopen( "/local/test.txt", "r" )) ) { printf( "\r\nError: The message file cannot be accessed\r\n" ); return -1; } fgets( s, 256, fp ); fclose( fp );
printfはTeraTermやターミナルなどシリアルコンソールから覗く事ができます。
mac osxではターミナルで
$ screen /dev/tty.usbmodemxxx
と入力すると、コンソールからメッセージを見れます。(xxxは数字。)
で、めでたく表示できると
詳しい事は省略しますがこちらにソースコードを公開していますのでご覧ください。
次回はSDカードを制御しようと思います。