>1)スタートアップルーチンでの割り込みベクタの記述の仕方
static void (*vects[])(void) __attribute__((section(".vect"))) = {
BOOT_VECTOR, /****************************** reset */
0,
0,
0,
0,
0,
0,
0, /* NMI */
0, /* trap #0 */
0, /* trap #1 */
0, /* trap #2 */
0, /* trap #3 */
IRQ0_HANDLER, /* IRQ 0 */
0, /* IRQ 1 */
0, /* IRQ 2 */
後は省略...
みたいに単純にアドレスを並べます。
先頭行はgccの書き方で、日立純正では
#pragma section (vect)
static void (*vects[])(void)={
みたいな感じになると思います。
秋月Cだとちょっとわからないのですが、アドレス0から割り当てられればおっけいです。
ベクタ全体の並びはH8/3048のハードウェアマニュアル(日立のページにあります)に
載ってますので参照して下さい。
>2)割り込み処理ルーチン(C言語)の記述の仕方
日立純正のコンパイラでは
#pragma interrupt(HogeHoge)
void HogeHoge(void){
/*ここに処理を書いて、最後に「自分で」フラグを落とす*/
}
のように書きます。
でわでわ〜
---------------------------------------
webmaster@xxxxxxxxxxxx:舘野雄治
http://www.tarosuke.net/:たろすけの部屋
---------------------------------------