槫林です。
熊谷さん、平田@マイクロフトさん、寺脇さん、ありがとうございます。
> 上記のプログラムではIMFAをリセットしていないようですので,まずはIMFAの
> リセットを試してみてはいかがでしょうか.
うっ、申し訳ありません。確かにその通りです。
一応元(C言語)のプログラムにはちゃんと入っているのですが、ミスしました。
下記の様に修正して再度波形確認しました。
ITU_IMIA0:
push.w r0
bclr #0,@TSR0
mov.b @NDRA,r0l
xor.b #h'0f,r0l
mov.b r0l,@NDRA
pop.w r0
rte
結果は・・・16uSになってしまいました。何故増える(泣)
> ざっと見る限りでは槫林さんの割り込み処理は結構ぎりぎりなタイミングのように
> 思えます.割り込み処理プログラム自体のステート数と、割り込み応答にかかるス
> テート数、rteの実行ステート数を計算してみてください.
上記の処理だと上から順に6,8,4,2,4,6ステートでいいのでしょうか。
割り込み応答にかかるステート数というのは、19〜41ステートとなっている物でしょうか?
rteの実行ステート数は10ですよね。
合計すると59〜81ステート、この辺で既に勘違いしてるのでしょうか?
割り込み処理に対する「余裕」に関してはこれから調べてみます。
> 後はプログラムが走っている空間とstackの空間のウエイトコントロールは大丈夫
> ですか?
H8に限らずこの辺の大元からプログラムを組むのが初めてなのでこの辺の
知識に乏しいのですが、これは外部メモリとかを付けてる場合に設定しろと
書いてある2or3ステートとかの設定の事でしょうか?
製品には当然外部メモリ等が付くんですが、今はAKI-H8キットで拡張しない
で使用しているので問題ないかと思ったのですがどうでしょうか?
よろしくお願いします。
--
E-mail : mkurebayashi@xxxxxxxxxxxxxxxxxx