[H8-ML(2321)] Re::AKI-H8/3048Fの割り込み
From: "Masanobu Suzuki" <signas@xxxxxxxxxxxxxxx>
Date: 2002年10月27日(日)23時38分24秒
かめいさん>
> 本題の処理ルーチンに飛んだらスタックの退去とかいろいろやるのでしょうが
>それは C がやってくれるのかも知れません。

イエローソフト(YC)では、割り込み関数(interrupt)で定義された関数については
レジスタ(ER0〜ER6)はC側が自動的に退避してくれます。と、言いますかこれし
かしません。
また、割り込み関数は「関数」と名前が付いてはいますが、非常に形式的なもので
普通の関数のように戻り値や引数をとることができません。

レジスタの退避は前述のようにC側が行ってくれるので便利なのですが、割り込み
処理の中身をアセンブラで記述する場合は事前に使うレジスタは判るので、C側
が割り込みの度に全レジスタを退避するのはかなり無駄な気がします。
個人的にはレジスタの退避処理もユーザーに任せて欲しい部分ですね。


okodaさん>
>NMI、IRQの設定など、具体的な参考ソ−スがあれば教えてください。

ひやしたさん、かめいさんが解説されておられますが、私も’ひやした’さんが仰る
ようにYC付属のRS232C通信のサンプルソフトから始められるのが良いかと思い
ます。イエローソフト製のボード用に書かれていますが、AKI-H8/3068Fでも問題
なく走ります。但し、RS232C用のクロック周波数の分周比には気をつけてください。
また、恐らく秋月のROMライタボードもご使用のことと思いますから、割り込みの
練習問題としてボード付属のLEDを点滅させるのも良いと思います。

Cを使う上で割り込みは誰でも一度は越えなければならない壁です。
しかし、特に組み込み用途では割り込みが処理の中心となる場合が多く、逆に
割り込みを理解してしまえばソフトの組み方は全く違って来る筈です。

不明な点は、どんなことでもご質問下さい。質問することで、何がわからないかが
見えてくると思います。
では。

鈴木





スレッド概略
[2315(R)](起点)
 └[2320(U)]
   └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]