|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?, p8 J: w. S6 b* {
#include<iom128v.h>- H* c5 c0 l0 `% q5 }, p: g% l6 t
#include<macros.h>( h/ d2 \1 W& i' }) {
; k. E4 [6 o2 t7 P
#define uchar undigned char
2 o( B6 K2 w; S& q( v% H4 q u8 I e& \# R
#pragma interrupt_handler int3_isr:5
9 _+ d9 e4 B9 g2 b! \void int3_isr(void)2 w9 _. f5 Y, x8 W9 G. j$ ^
{. b# N, ]4 T8 |( B+ X3 G# R0 {) H
PORTA=0X0F;0 Z5 Q o3 Y# O6 I
}
% V" k! ~: z; F/ i' b. W9 r* x: X
void INT3_init(void)
1 F* E% k0 v1 V8 u' e8 l F" U{# X; M7 j" u0 T2 g! ^. M) Y3 y
EIMSK=0X00; //屏蔽外部中断
6 m! ~% i$ {0 ^9 V: b& p% O EICRA=0X80; //设置外中断3为下降沿触发- t, S& d3 j* K. x B8 \
EIFR=0X00; //中断寄存器置0" A& r- e& \7 f9 X n. q
SREG=0X80; //打开全局中断3 N9 b; p$ o2 z j6 e4 \! o: ?
EIMSK=0X08; //使能外部中断3$ W2 ?& b. x. j& d! \
}
Y# H( B A+ E7 b" ] O
3 ~# u0 T1 j& F& d5 s. C# ?void main(void)
) @0 Q- _5 A1 @{+ l" T) ?9 X7 Y: o
PORTA=0XFF;
& i. P# V6 q5 F8 w DDRA=0XFF;
3 e! E' X" `' H& S l$ ] PORTE=0X04;. f B9 C# f A, r6 B4 d) G
DDRE=0X04;
' N( H0 c4 f. Q/ B3 Q2 n INT3_init(); //中断初始化' h5 i0 m% Y5 w' ]" N
while(1)- W+ v$ p& {0 B( K$ _
{
8 E' j* W7 Y9 ^5 b' n# ]' @2 C! b PORTA=0X00;: Q, F2 G0 x" r8 s3 s
}2 R& R3 i( b) S3 a
} |
|