|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?
$ q/ }+ M9 @ P5 W. d1 I) t2 L5 R9 U#include<iom128v.h>
/ K5 Q% U( P4 C$ [- A#include<macros.h>1 W7 g9 v$ M% }4 I7 J0 Y( k r" J
1 k9 T5 }7 J! z. t& a3 k. w4 H [- B, y# D
#define uchar undigned char 5 m' b! O9 n( a/ V( V
+ s: l; m+ M1 k5 C" L#pragma interrupt_handler int3_isr:54 F+ f b7 Y( [7 Q7 ?4 i: a0 o% A
void int3_isr(void)
6 s+ v2 z/ x4 k* c% M0 R6 o{
' _0 |6 a0 K- o, h$ W0 z PORTA=0X0F;7 r& N* Z3 F4 R9 E+ w- y. f6 A
}7 G. {6 T9 z& ^7 Y' C
: B# I3 f) u0 K6 _2 I2 u
void INT3_init(void) T4 G S& i; A% C8 {
{
7 r& u! Z9 Y6 Z. a& L7 X EIMSK=0X00; //屏蔽外部中断
& U# u w; _1 h2 r EICRA=0X80; //设置外中断3为下降沿触发, x0 y* [, m; F) N
EIFR=0X00; //中断寄存器置0
+ T& \ M1 q+ \! d SREG=0X80; //打开全局中断4 u Z3 E m2 u5 y8 C# a$ c' r$ l* A' K, t
EIMSK=0X08; //使能外部中断3
. Q* i8 r: ^3 v! I$ s} w* V0 t. y' R( q7 w( B
$ o! t3 j0 v* |/ s# I! ?/ O" k& ~void main(void) v" L* ]+ E7 n8 w! b2 r6 h
{) M5 u5 j, I/ p! K' c
PORTA=0XFF;* w0 p/ y7 J" W3 T& U2 Q3 ]
DDRA=0XFF;
) \# l! q) |" J PORTE=0X04;9 E! f8 d+ k" m4 U4 S- b
DDRE=0X04;
2 G7 j# ^1 V& [7 V9 Q1 C INT3_init(); //中断初始化7 _$ T- K: @9 n4 P
while(1)
! y. s$ R- q0 D z3 ]4 {" g {, x: k0 f( A6 W6 z' Q
PORTA=0X00;" J) K4 H- e2 u
}
4 B+ g% x8 N$ p} |
|