ハンダ付け部分のショートとかチェックしてみましたが問題なさそう。
なんでだろう‥
まずは20x4行のLCDでも繋げてみようと思います。
LCDライブラリはPIC用に書いたものをベースにします。
ループでLCDのウエイトを入れようとしたところ、EZ-USBの1命令が何秒かかるか分からず悩む。<データシート嫁
適当なループ回数で待たせてもLCD初期化できず(;´Д`)
何気なく ezusb.h を眺めていると EZUSB_Delay(WORD ms) ってのを発見。
引数を見るとミリ秒単位で指定できるようだ。
早速これを使おう。
LCDのRSとE信号が逆でした(;´Д`)
しかし、直してもダメ。
本日は色々と格闘する。
結果、表示できました。
次に、PCから表示データをバルク転送し、それをLCDに表示してみる。
(・∀・)イイ!感じ
本当は1キャラクタ書き込みごとに40マイクロ秒のウェイトで良いのですが、今は1msecウェイトを入れているため表示が遅いです。
usb_lcd.lzh 22KBytes 2003/11/26
ファームウェア側は periph.c が入っています。Cypress のサンプルにある bulktest\periph.c と置き換えてください。
私が追加したのは //add start から //add end で括られた部分です。
Windows側は Visual C++ でメイクします。
回路図を書いてる時間が無いので、下記に結線イメージを書いておきます(;´Д`)
LCDのデータ -> PORTBの下位4bit
LCD-E -> PORTCの1bit目
LCD-RS -> PORTCの0bit目