|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?3 J0 A- g$ m8 B: X/ c* X
#include<iom128v.h>/ R0 {/ O+ f5 X: ]' z
#include<macros.h>
0 F2 a: \4 d3 }& T( n$ U
2 y+ O$ S+ ^. d( S5 e& [#define uchar undigned char
K; ]5 C& K. h( s3 `* M2 N/ b; v7 B9 a H$ w) v3 l h
#pragma interrupt_handler int3_isr:5& h6 M* b% ^* L4 E$ S
void int3_isr(void)" i2 J+ c! Z* p% t
{
' n/ P4 v7 q6 J PORTA=0X0F;
1 v- U d, \0 ^! |- ^}
* @1 X, |, ]; e/ q3 W$ O6 ]. i& R2 L& e
void INT3_init(void)% T0 l9 {7 V+ z7 r" W5 p' V
{
$ W. q( H3 w$ u/ L* @3 S EIMSK=0X00; //屏蔽外部中断+ V$ g8 _: w N, X
EICRA=0X80; //设置外中断3为下降沿触发
8 I" j* Y) v, e0 U EIFR=0X00; //中断寄存器置06 `& z7 n8 _' f- [
SREG=0X80; //打开全局中断
' P6 Z" i3 F2 I' s9 b EIMSK=0X08; //使能外部中断3$ m. Y5 N# o {9 g- j2 _6 j# J+ s
}( P. M) S5 s* q0 ]: u& l
) ? A. I7 ~+ U7 Vvoid main(void)% v9 _* _9 a5 F4 N$ E/ R
{
6 R6 c# P, U9 q- \ PORTA=0XFF;
9 Z2 H* p0 ~# N4 \; Y ~: f DDRA=0XFF;
( t; t7 {- |% c; L" E PORTE=0X04;
5 V3 t# f: Q: y3 L: j7 D2 \ DDRE=0X04;
9 {( Y2 @9 O4 I2 H M6 Q INT3_init(); //中断初始化, {& K* i; N/ `0 J
while(1)# V# C, r* J$ |4 a! }8 S
{2 _' `/ W# X5 a4 i* M
PORTA=0X00; v3 m9 J# \' k2 b! C9 [
}- z ?/ w' L/ M0 j+ D1 u0 r1 E
} |
|