「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



例のWINAVR上でインラインアセンブラ使っちまおう
という話の続き。時間遅延処理を組んでるわけだけど、
なんだかうまく動いてなくてちょっと放置してた続き。

あらためてシミュレータ上で、ディスアセンブルリスト
を1ステップ1ステップ動かしてってみると、どうやら
引数として与えた遅延時間がうまく引き継がれてなくて、
カウント値=0でループを抜けちゃうことがわかった。

とするとロジックそのものが原因じゃぁ無いってこと
だろうと思って見直してみる。どうやらアセンブラに
渡す引数(C言語変数タグ)との結びつき、ここの
指定方法が間違ってることが解ってきた。

ここは正直一番よく解ってないところ。あらためて
あちこち情報収集して眺めなおしてみると、とりあえず
一つは間違え発見。

ループはそれなりに回るようになったんだけど、
ループから抜けるまでの時間(クロック数)が
想定の2倍だったり30倍だったり…というだめっぷり。

うーん、ロジックのような、環境のような…
とりあえず今日はここまで。また今度。



コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする