|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?+ ~. Q! J+ j! Q1 s/ A
#include<iom128v.h>
. y& }6 v' z0 E3 S/ N# y) _( M#include<macros.h>
2 {: _. P0 c4 U+ l3 }
4 d& I# }5 {, v/ Y: Z& N. G#define uchar undigned char % R' o$ y" N/ Q
/ h/ A: y9 u# o, z5 `# z' o6 p6 u2 G
#pragma interrupt_handler int3_isr:5; h# j# U- T* r7 a) x0 h
void int3_isr(void)
" W" f# @2 Y9 j+ `# D. Q{+ E7 h5 b5 V+ k
PORTA=0X0F;
# L8 l# Q5 F+ ]2 {! g3 c}
0 ]) q: d4 e; u, L; v
0 |( I5 y2 {% E# \1 Vvoid INT3_init(void); s( {+ F# x3 ?& q0 I; c
{& k: D' g% K+ y% E5 C$ k) f* f
EIMSK=0X00; //屏蔽外部中断
2 |, }4 m1 M3 ] EICRA=0X80; //设置外中断3为下降沿触发3 A, {/ `9 |0 q2 A" @/ w
EIFR=0X00; //中断寄存器置0) @' G; }, `8 ]5 ]
SREG=0X80; //打开全局中断9 w0 Y; P5 q- C
EIMSK=0X08; //使能外部中断3
, W: ]4 o, U: K8 I8 f/ s. @1 P}
! B7 D D1 g, y# w% B! I: J5 }9 o" N7 E
void main(void)
% s$ y0 z: p. T5 E{
) F% G2 c: q, m+ Z, ` PORTA=0XFF;
7 {9 u j; ]+ x! ^( v# f1 v: C9 L DDRA=0XFF;
1 a" u; \1 _1 }- h! D/ s# \ PORTE=0X04;
/ u* F# X K! A* d3 J DDRE=0X04;
+ X( s1 a: o, n# f9 Y; y6 ?4 B INT3_init(); //中断初始化
) X7 \- S, A9 |+ J while(1)' f% T5 m6 j2 n5 ]
{
+ z- g4 a0 L" c! O) Q e( j PORTA=0X00;% h" _- N# T- H9 m: A
}
/ f2 R" K* c4 b0 ^( f G} |
|