SH7216マイコンのIRQ割り込みについて

高野です。SH7216マイコンを使いIRQ割り込みをしたいのですが、上手くいきません。メインのプログラムは、

#include"iodefine.h"

void initIO(void)
{
 PFC.PEIORL.BYTE.L= 0xFF;  //ポートE下位8ビットを出力に設定
}
void initIRQ(void)
{
 PFC.PBCRL1.BIT.PB0MD = 3;  //PB0をIRQ0入力に設定
 INTC.IPR01.BIT._IRQ0 = 0xf; //IRQ0優先度15
 INTC.ICR1.BIT.IRQ0S = 2;  //立ち上がりエッジで割り込み
}
void wait(void)       //時間待ち関数
{
 long t = 500000;
 while(t--);
}
void int_irq0(void)     //割り込み処理
{
 int c = 5;
 while(c--)
 {
  PE.DR.BYTE.L = 0x00; //0を出力
  wait();
  PE.DR.BYTE.L = 0xFF; //1を出力
  wait();
 }
}
void main(void)      //メイン関数
{
 int d=1;
 initIO();
 int_irq0();
 
 while(1){
  PE.DR.BYTE.L = d;
  wait();
  d<<=1;
  if(d>128){d = 1;}
 }
 set_imask(14);     //割り込みマスク14
このプログラムは、LEDが移動点滅していてPB0に接続されたスイッチを押すとLEDが5回点滅して元に戻るというものです。「intprg.c」の「void INT_IRQ0(void){}」の中に割り込み処理関数を記述し、「resetprg.c」のSR_Initのところを0x00000000にしました。マイコンボードの配線とピンの位置も何度も確認しました。どうすれば良いでしょうか。
Parents Reply Children
No Data