AVR Camera TFT LCD Develope Board その後(2)
書込風景 | タッチパネル付き? |
AVR Camera TFT LCD Develope Board その後
メールで送られてきたソースプログラムを見ると(たぶん)中国語のコメントだらけ。まず、このコメントを削らないといじる気にならないので、エディタで全部削除。WinAVRでコンパイルすると、目立つエラーも無くすんなりとhexファイルができた。 これをAVRSPで書き込むと、LCDに初期化中を示すメッセージを表示したところで進まない。ソースと一緒にあったhexファイルだとちゃんと起動する。でも、最初に書き込まれていたプログラムとは少し動作が違うようだ。起動時の画像は表示されないし、動作も若干もっさりしている。 自分でコンパイルしたhexファイルと動作するhexファイルを比較するとサイズが違う。コンパイルした環境が違うらしい。使えそうなコンパイル環境がないか探してみたがみつからない。 仕方がないので、ソースをいじってみることにする。とりあえず、delay.cにあった、如何にも最適化で消えそうなdelay_us関数void delay_us(unsigned int time){ while (time--);}
を、消えないように書き換えてみた。
void delay_us(unsigned int time){ while (time--) asm volatile("nop");}
で、これでできたhexファイルを書き込んだら、あっさり動いた。ちゃんちゃん。
使っているのが WinAVRで、F_CPU値もちゃんと定義してあるのだから、<util/delay.h>の_delay_us()
を使えばいいのにとか思う。まだまだだな。中国人
最近のコメント