Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
Forums & Groups
English Community
中文社区(Chinese Community)
More
Cancel
かふぇルネ
forums-groups
Microcontrollers and Microprocessors
Other MCU/MPU Products
SH Family
More
Cancel
SH Family
105: SH - Forum
SH7216マイコンのIRQ割り込みについて
Home
Forum
Tags
More
Cancel
New
Replies
4 replies
Subscribers
452 subscribers
Views
7710 views
Users
0 members are here
SH7216マイコン
SH2-A
IRQ割り込み
プログラム
Options
Share
More
Cancel
Related
SH7216マイコンのIRQ割り込みについて
高野
over 4 years ago
高野です。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
IKUZO
over 4 years ago
割り込み中では待機状態にしない方が良いです
char flg=0;
void int_irq0(void)//割り込み処理
{
flg=1;
}
void main(void)
{
if(flg){
flg=0;
//ここに処理
}
}
Cancel
Up
0
Down
Reply
Cancel
高野
over 4 years ago
in reply to
IKUZO
プログラムのご指摘をいただきありがとうございます。後程プログラムを見直してみます。
Cancel
Up
0
Down
Reply
Cancel
Reply
高野
over 4 years ago
in reply to
IKUZO
プログラムのご指摘をいただきありがとうございます。後程プログラムを見直してみます。
Cancel
Up
0
Down
Reply
Cancel
Children
No Data