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

うだうだ日記

前の2日分 | 次の2日分

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


前の2日分 | 次の2日分