皆さんありがとうございます。
堀さんwrote:
> #pragma interrupt は、割り込み用の関数の宣言のときに
> 使うものですが、私は使っていません。私の使っているCコ
> ンパイラではサポートされていなかったような気がします。
アーカイブを読んでみるとこの辺にいろいろ方言があるようですね。
次のような理解でよろしいでしょうか?
1.日立 C コンパイラ、秋月 C コンパイラの場合
#pragma interrupt(foo)
void foo(void);
void foo(void)
{
/* 処理 */
};
2.YellowSoft C コンパイラの場合
void interrupt foo(void)
{
/* 処理 */
}
3.割込みをサポートしていない C コンパイラの場合
もちろん、上記の Cコンパイラでも応用可能だと思いますが、アセンブラで
RTE で終る処理ルーチンから C の処理ルーチンを呼ぶ。
ところで、全然別のマイコンの gcc では
#include <signal.h>
SIGNAL (SIG_UART_DATA)
{
/* 処理 */
}
なんて書いていましたが、H8 の gcc では日立や秋月と同じでしょうか?
--
Mitani Hiroshi