|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?
0 E$ w# S4 ^# N' k2 |! ]4 W#include<iom128v.h>
; n7 X, H- G- y* G" }" a+ G6 e9 X#include<macros.h>& V; P' I+ A5 ^/ o, W! r) M
- q8 D% a# c4 s f#define uchar undigned char
1 C6 [' n4 \ V# F1 k% z) y$ H4 N; f; b$ J O& u
#pragma interrupt_handler int3_isr:5
& u& L' n7 s/ W3 Q; Dvoid int3_isr(void)
[ Q. [; B0 @- ~" n{
. r9 A! {+ _7 O. |) F+ K2 o* G) C PORTA=0X0F;
: \$ Y: [( r( y$ s}
: |1 U) x- L/ }7 D U( E9 ~- t2 C2 j: _2 _% y, [$ n9 ^. K4 _
void INT3_init(void)
7 Y: [0 K1 _% D# v. D{
, f1 K3 h/ I6 @8 @* \1 S: J# S7 h4 I EIMSK=0X00; //屏蔽外部中断
) E( r: s4 A4 D" F5 a6 j EICRA=0X80; //设置外中断3为下降沿触发
9 T' M& a' J! z- W' `9 t, U EIFR=0X00; //中断寄存器置0. \- \: ]2 ?7 R$ Z+ p
SREG=0X80; //打开全局中断9 {3 _7 n0 n( k& x0 C1 D. i# _/ h) |7 Z
EIMSK=0X08; //使能外部中断33 W' I4 E4 E6 G+ ^3 j! g9 }
}4 a$ k& J: ?5 Q) U" @$ T
) |7 A5 Z) f) S8 v# F$ l8 p
void main(void)
6 t3 x n0 d% G, B( ?: \' A* j{ D0 R" j/ c5 V+ y, m! s
PORTA=0XFF;- ~, l, ]- P9 O4 ~
DDRA=0XFF;
: R9 t5 _- o, e/ E PORTE=0X04;
/ R0 k; y/ ~5 E DDRE=0X04;- U5 N4 f2 [+ z: X) V) l
INT3_init(); //中断初始化) p+ [0 k% ~$ e# l! J
while(1)2 l# z: {* @( H P
{" b5 T6 E. H; W* A
PORTA=0X00;
' U: B; \* ^3 h }
- q! _: D- l. d/ Z} |
|