|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?+ T( {8 w" |' ~
#include<iom128v.h>. Q8 E' X, H a1 I# v
#include<macros.h>& X+ [0 F' g9 g2 ^
0 m! o+ o- v/ O+ T) k, O# n( @8 `#define uchar undigned char
1 D4 T: _8 o0 `' z& h- G* ^+ b0 n6 n$ O5 ?# K! t
#pragma interrupt_handler int3_isr:5
$ I8 c8 l( \. a1 O/ K9 Gvoid int3_isr(void), z1 A# _7 l- e- Z" {- L
{+ T, W0 }$ L$ F( z
PORTA=0X0F;
) K; r3 V& F" R* k6 \}
$ g, |- f- X, t5 x) ~
$ @( m8 ~' |: \1 x' g5 @& X0 Dvoid INT3_init(void)
1 R( i/ C1 Q% R5 D9 q- _/ |{0 E0 O* \$ f2 |8 K& ?
EIMSK=0X00; //屏蔽外部中断
( b& `2 A" ]4 {, Q9 R h5 R EICRA=0X80; //设置外中断3为下降沿触发4 }$ J d0 \0 ?9 U, |2 \; l9 z* |
EIFR=0X00; //中断寄存器置08 D5 ~; U; R3 g
SREG=0X80; //打开全局中断$ b4 l9 @! F5 C. g+ \
EIMSK=0X08; //使能外部中断32 z9 X# q M, x+ f9 Q
}+ {1 p% Y' N) K2 `. v
* h& H: j) k4 P( vvoid main(void); V' N7 E" P, G
{6 E* `! w" e- e- b' X
PORTA=0XFF;5 A1 K0 H9 h: X) |- N4 ~
DDRA=0XFF;5 |/ H0 W) m/ K
PORTE=0X04;
2 E2 d* }) m( i/ @4 t DDRE=0X04;4 q% F, s9 U, k( B8 v
INT3_init(); //中断初始化, f- l" z; O' q4 F$ }' l6 g
while(1)
& Z" w! ^1 A: m {* u$ q( r+ B% c8 n. g, ^& c
PORTA=0X00;: j. R; ?* r; G+ W4 T7 U7 e( |
}
/ _( O7 y$ ~$ {) }} |
|