IRQ2に接続されたスイッチを押すとLEDは消灯。 IRQ3に接続されたスイッチを押すとLEDは点灯。
/*
外部割込みIRQ
IRQ3につないだスイッチを押すとLED(P50)が点灯し、
IRQ2につないだスイッチを押すとLEDが消灯するプログラム(irq01.c)
2003/10/20(Mon)
*/
#include<3664.h>
int main(void)
{
DI; /* 割込み禁止 */
IO.PMR1.BIT.IRQ3=1; /* P17をIRQ3にセット */
IO.PMR1.BIT.IRQ2=1; /* P16をIRQ2にセット */
IEGR1.BIT.IEG3=0; /* IRQ3の立ち下がりエッジを検出 */
IEGR1.BIT.IEG2=0; /* IRQ2の立ち下がりエッジを検出 */
IRR1.BIT.IRRI3=0; /* IRQ3割込み要求フラグをクリア */
IRR1.BIT.IRRI2=0; /* IRQ2割込み要求フラグをクリア */
IENR1.BIT.IEN3=1; /* IRQ3割込み許可 */
IENR1.BIT.IEN2=1; /* IRQ2割込み許可 */
EI; /* 割込み許可 */
IO.PCR5=0x01; /* P50のみ出力 */
IO.PDR5.BIT.B0=0; /* P50を0に */
while(1){
;
}
}
void int_irq2(void)
{
DI;
IRR1.BIT.IRRI2=0;
IENR1.BIT.IEN2=0;
IO.PDR5.BIT.B0=0; /* P50を0に */
IENR1.BIT.IEN2=1; /* IRQ2割込み許可 */
EI;
}
void int_irq3(void)
{
DI;
IRR1.BIT.IRRI3=0;
IENR1.BIT.IEN3=0;
IENR1.BIT.IEN3=1; /* IRQ3割込み許可 */
IO.PDR5.BIT.B0=1; /* P50を1に */
EI;
}
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||