|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?5 V, i" Z; U& S6 X
#include<iom128v.h>
a& ^2 I+ o( v9 c#include<macros.h>
. F" ~# F, O, D% Q( l1 _
- r. F; h6 c _8 J#define uchar undigned char
. w1 M$ w2 I& w; Z
/ _3 N! Q# P1 i+ C$ t: q& O#pragma interrupt_handler int3_isr:5
; M9 m9 a; V6 E% |& F0 C4 T$ C6 rvoid int3_isr(void)
3 W& r% G. d0 {8 f$ z{
, z( O( S* r2 ?0 D$ ]! q PORTA=0X0F;
( w; W$ E) _6 O/ N}
* Q4 M) ~3 y5 D9 T9 B) B8 m" {8 L+ R* B- A) E- W
void INT3_init(void)/ `5 W) G* j- p- q" x+ [, z: w
{
5 |* J7 J, ]' \4 z. X9 X: i$ ? EIMSK=0X00; //屏蔽外部中断$ F" A, ?! n4 m. \9 m/ @
EICRA=0X80; //设置外中断3为下降沿触发
7 `7 A; M" N. t) F EIFR=0X00; //中断寄存器置0
, |1 }7 p5 H% w1 C8 ]7 b SREG=0X80; //打开全局中断
0 Z' e0 S8 k6 X3 ^1 u+ q EIMSK=0X08; //使能外部中断3+ r$ C7 D# w8 n* Q7 ~
}% k5 x/ Z/ t- U& n0 {" l2 q
3 R8 b3 K E3 e% `; {( e* ?) l" ]# g
void main(void)
+ d" p* Y8 A$ `/ u+ U{
; ?& n7 m& i; B0 g/ } PORTA=0XFF;
3 N1 u- E6 Q) n DDRA=0XFF;8 |. }1 `; B6 G: v! [! `2 U, Z, o
PORTE=0X04;5 k! w% W, v! b4 a8 ~
DDRE=0X04;
+ K, M% G# h9 \1 n INT3_init(); //中断初始化
* P. H8 n2 S4 ^ while(1)8 Q! W- u5 T5 y8 @8 C7 m
{
4 L0 o7 S* V3 X, O/ f- Y PORTA=0X00;
/ D7 h6 c( J L4 E: C8 O' o }, d' ^8 b2 [% e' A$ M
} |
|