NRIロゴ2号
Google
 
Web narimatsu.net
トップページ
写真日記
リンク集

旧コンテンツ

News,( US, UK)
はてなアンテナ
wikipedia

kick4wiki
kick4bbs
ジャパンネット銀行
ピンポイント天気
postMap
G-Tools
Kumaduino

うだうだ日記Index
2011
1 2 3 4 5
2010
1 2 3 4 5 6 7 8 9 10 11 12
2009
1 2 3 4 5 6 7 8 9 10 11 12
2008
1 2 3 4 5 6 7 8 9 10 11 12
2007
1 2 3 4 5 6 7 8 9 10 11 12
2006
1 2 3 4 5 6 7 8 9 10 11 12
2005
1 2 3 4 5 6 7 8 9 10 11 12
2004
1 2 3 4 5 6 7 8 9 10 11 12
2003
1 2 3 4 5 6 7 8 9 10 11 12
2002
1 2 3 4 5 6 7 8 9 10 11 12
2001
1 2 3 4 5 6 7 8 9 10 11 12
2000
1 2 3 4 5 6 7 8 9 10 11 12

うだうだ日記 2010年 2月15日


2010年2月15日 月曜日

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()を使えば いいのにとか思う。
まだまだだな。中国人