|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?
3 Y7 `, \8 [* f" i#include<iom128v.h>
% r/ z6 e' C0 R) f5 E+ D+ F% h#include<macros.h>
8 x2 C. F, Y- l6 X( y
. u5 P% i3 ]+ a' L( O9 ?6 z1 l d#define uchar undigned char ) m2 n2 S, S) d; ^- B3 K0 @
% d/ a" b0 t6 J0 m, i( K
#pragma interrupt_handler int3_isr:5
9 o+ ], R: i0 b8 }& {4 Ovoid int3_isr(void)/ y. ?+ h$ [) x$ [5 T+ ?2 c
{
9 l I; r4 n" p' H PORTA=0X0F;3 }1 ~1 H$ m7 b# u2 Q! h9 H
}" [" j# O0 f) b3 @4 ~& w
2 @( z* B8 m7 L
void INT3_init(void)
5 P. [. b5 _% q9 W{
) s1 R U3 K8 C. U EIMSK=0X00; //屏蔽外部中断# {. T$ B7 ?. z- \0 ~! ~+ m( W
EICRA=0X80; //设置外中断3为下降沿触发5 h$ L9 O" ]" u/ v" M% U/ p) i
EIFR=0X00; //中断寄存器置0
# m% l, m% F7 i; r, S! |: @0 T3 ^5 c SREG=0X80; //打开全局中断0 M6 [) @! l; f( c
EIMSK=0X08; //使能外部中断3
$ y& A/ T% _: s}
; {" h# T8 [" Y6 W
4 E a) C9 n4 z" A7 ~void main(void)
* s. O& S" I2 m. X3 D0 k7 S5 j{
- q5 S/ ?. j( A/ S6 w PORTA=0XFF;" S/ _! R) {# ~. c4 i
DDRA=0XFF;2 S9 h* g8 d) p f: f
PORTE=0X04; p* ?7 e( {3 Y8 }. Z
DDRE=0X04;
. O' ?) j @; o8 o4 a INT3_init(); //中断初始化
! ^/ G" R' v V1 ]' E! b: n while(1)
: f6 r* I) U* o; } {5 M8 p! d6 M% j0 G2 c# r
PORTA=0X00; K8 g) g- S6 I! A* P
}
) z/ t7 [# r4 y9 _/ E} |
|