--/--/--  --:--    スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
さて、少し前にAVR Studio4とAVR-GCCを組み合わせるという記事を書きましたが、
今日はその続きで、シュミレーターを使ってみましょう。
AVR_Studio5

すごい簡単で変なプログラムですが、説明なのでご了承を。
このプログラムの流れを説明しますと、
最初に、ポートAのビット0を入力ポートに、
ポートBのビット0を出力ポートに設定しています。
また、int型でwaitという変数を作っています。
そうしたら、while(1)で無限ループに入ります。
もし、ポートAのビット0にHighが入力されていれば、ポートBのビット0からHighを、
Lowが入力されていれば、Lowを出力します。
その後、For文で適度に時間を潰してから、またIf文に戻ります。

さて、このプログラムをシュミレーションして見ましょう。
まず、デバッグバーのStart Debugging(再生マーク)をクリックします。
すると、このような画面が現れます。
AVR_Stuido6

プログラムの横に矢印がでました。
これは、現在、プログラムのどこを実行しているかを示しています。
例えば、DDRA = 0x00;の横に矢印があったならば、
「次にこのDDRA = 0x00;を実行しますよ」という意味です。
次の行に進むには、F11を押します。
AVR_Studio7

さて、if文のところまでやってきました。
実際にDDRB = 0x01;が実行されたか見てみましょう。
ウインドウ右のI/O ViewというところのI/O PORTBをクリックしてください。
すると、右下に、PORTBのPORT、DDR、PINの状態が表示されます。
DDRを見てみると、ちゃんとビット0がHighになっていますね。
これでちゃんと実行されていることがわかります。

さて、次に変数を見てみましょう。
今回使用している変数は、waitだけです。
変数を見るためには、Debug WindowsのToggle Watch Windowsをクリックします。
すると、小さなウインドウが出てきます。
Nameの下の空いた枠をダブルクリックし、waitと変数名を入力します。
AVR_Studio9

ちゃんとwaitの変数の中が表示されましたね。
現在は0を代入してあるので、
0が表示されています。
変数の状態表示はこんなところです。

さて、最後に入力ですが、
実際にマイコンで動かしてないわけで、
入力することができません。
AVR_Studio12

これではif文でelseにしか行かず、ifの中がデバッグできません。
ですが、ちゃんと入力も試すことが出来ます。
先ほどのように、I/O ViewでポートAをクリックします。
右下のPINAのところのビット0の□をクリックします。
AVR_Studio10

このように■になったかと思います。
これで、擬似的にポートAのビット0にHighを入力している状態になります。
これでF11を押していくと、
AVR_Studio11

ちゃんとif文の中に入ります。

これだけ使えれば、簡単にデバッグすることが出来るはずです。
私もまだこのシュミレーションを使いこなせてないので、
この辺までしか書けませんが、
もう少し深く使ってみたいと思います。
どうですか?結構便利に思えてきたでしょう?
これでAVRをもっと便利に使うことが出来ますね。
それではこの辺で。
Secret

TrackBackURL
→http://amenotiyukizora.blog76.fc2.com/tb.php/82-0e4d9c86
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。