|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?* b' q2 Y- I5 V$ I ~. K& {
#include<iom128v.h>; r8 G0 [2 ]) V+ O, m: A4 ~, i
#include<macros.h>
7 k1 s3 x0 Z5 W( B9 j x- i+ e9 q! S' Y2 \( e R8 Z
#define uchar undigned char / j5 v1 F# E4 F
* i1 B/ ^$ B0 b, g; V& K/ E#pragma interrupt_handler int3_isr:5+ P; Y* }4 G' Y& D% K& E
void int3_isr(void): G4 [- F4 b7 P5 }2 z% N# ~, t+ K, \
{7 l) p H5 t% I! y. [ ]5 n( ?- W! L/ u
PORTA=0X0F;
# k' l6 M w* G$ R% K}
. {, ?, o1 `/ d; X' ?' E( `8 @' y S1 e
void INT3_init(void)
; w1 a2 j1 d$ ^1 X X9 b{. L/ ]$ ~1 Q; D# N
EIMSK=0X00; //屏蔽外部中断
) M$ Y" e# }/ l2 y6 Z, h6 ^- N EICRA=0X80; //设置外中断3为下降沿触发" d8 o1 G: [9 Q" v
EIFR=0X00; //中断寄存器置0
1 g- W U: ~! T% F4 x SREG=0X80; //打开全局中断6 x& x8 x* _7 `* j6 V, K$ W
EIMSK=0X08; //使能外部中断3
" K7 y y0 m! d; T}
/ f. X" k7 i; k/ m# m7 q+ D0 b( H1 ]/ a( z @. @
void main(void)% e% r5 [& a. K7 }: z. |! R
{; R( {/ G$ K( L$ W) w
PORTA=0XFF;
" i: M4 P; I, D# P DDRA=0XFF;
7 K7 k* s! h; F0 R; f6 a PORTE=0X04; {5 c% Y9 B' }% c7 H
DDRE=0X04;2 S5 {" s+ s4 x$ k
INT3_init(); //中断初始化
" V5 J* p3 h' H( l7 I/ d. } while(1)
, T- O* @& z' s) y8 P {
s0 k: J4 c& c4 l0 C9 d PORTA=0X00;8 u/ F0 |1 Y* i+ p/ W4 V; ?
}
4 O$ w% T1 q% w' Z! S. o' S( V} |
|