|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?
& {8 X( ?. U. |; l& k, _4 I#include<iom128v.h>1 a3 L+ H" i- ]0 |( }, `7 {
#include<macros.h>0 m) E" {: X7 [! \
+ s; v( C3 Q2 j+ ^8 U$ q6 v#define uchar undigned char
# T- o- \5 X5 b
( s. e; B+ t& t5 n) g#pragma interrupt_handler int3_isr:5
1 N; V% `/ U3 F1 R% P& ovoid int3_isr(void)
( H! C Q. i' \6 I# b{
' x9 Q' E D* u" w5 }& l. z# Y PORTA=0X0F;
% y6 s5 d2 v p9 T: Z7 i) T1 J8 h}
I. c8 ?5 ]( t9 Q
( a% ]! o" x/ P4 C: V8 [: C9 Bvoid INT3_init(void)
9 T1 N; a! e2 h$ {; M& B{
4 f h M7 a# g I- ]/ n EIMSK=0X00; //屏蔽外部中断
/ N* C3 W' d) |1 a0 F0 U$ @" N EICRA=0X80; //设置外中断3为下降沿触发
* C: B( d+ X2 g; T" u' |, c3 t EIFR=0X00; //中断寄存器置0
! R( ]# |0 [8 k1 O+ R9 z' I SREG=0X80; //打开全局中断
7 B- H& [. o: j2 D EIMSK=0X08; //使能外部中断3$ `; u( r% H/ y! F8 I
}. a& J, h4 [8 ?8 E$ p5 q; _
) Y4 S& G1 T1 l9 q i0 nvoid main(void)
- S j( e4 X) S{: q: ], b: h$ N3 j3 w( Q
PORTA=0XFF;) }0 [: E" G: c {
DDRA=0XFF;
* h3 I2 L3 ^8 e4 o PORTE=0X04;
5 J H) c+ y9 r! ^7 p DDRE=0X04;
% U l5 M/ ?( I0 ?3 t! t6 U4 [ INT3_init(); //中断初始化$ w6 M, l4 }" o h. w$ S
while(1)6 F1 C. I, j0 H( W7 x3 ?/ @
{
{: _( n5 w' S+ | PORTA=0X00;
- u$ U% P/ A6 F# k7 r }3 k* D5 j. C, b
} |
|