EDA365电子论坛网
标题:
为何无法进入mega128的外中断?
[打印本页]
作者:
weixiao8776
时间:
2012-8-1 22:48
标题:
为何无法进入mega128的外中断?
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?
' H$ K- ]6 i& ^6 c: D
#include<iom128v.h>
0 E5 M x7 K0 m: n
#include<macros.h>
0 g: T+ b: O$ F1 y0 M5 C
1 @, ^2 S; ]9 H* K! Z3 g4 C4 Y
#define uchar undigned char
7 Z+ x% [- _! n! U* G9 w$ P
* f" v6 ~" r5 X+ D
#pragma interrupt_handler int3_isr:5
+ E0 z; G2 ?& V$ O8 X6 j7 F) R0 h
void int3_isr(void)
- K( t* a5 I/ _# @+ u1 K) g
{
, b! J$ G/ U; N) {
PORTA=0X0F;
% n# p1 u5 v$ r! T! @! T4 g2 W, U
}
8 q/ t: V6 N! U$ b
. e8 l; y" u- A
void INT3_init(void)
4 `* }2 E2 S a7 Z: V6 ?) ^% @- g9 C
{
; A* T' I; j% b/ c j
EIMSK=0X00; //屏蔽外部中断
- U5 B3 S/ S& T! u) q( o& ~
EICRA=0X80; //设置外中断3为下降沿触发
4 K9 i6 s/ [" h8 ]
EIFR=0X00; //中断寄存器置0
1 r% t( f0 g) k( ]
SREG=0X80; //打开全局中断
. _1 _4 y. k5 d
EIMSK=0X08; //使能外部中断3
; [8 k8 F B0 N0 h1 S& O
}
; V% r* q! ]7 J( `
# Y: z% Y, G _3 A
void main(void)
3 F5 ^1 b) \5 ^
{
' Z: B* b2 h/ T
PORTA=0XFF;
$ `( ?# }2 ]5 O+ X ?/ O5 e, Y' L" J
DDRA=0XFF;
3 t ^: Y) C8 D- s& x ?
PORTE=0X04;
! O3 R! C- z% W, G- n1 z
DDRE=0X04;
! }5 F% }: u! B/ x
INT3_init(); //中断初始化
3 c7 m+ g8 k3 T7 N9 Y& c
while(1)
/ \: _1 F7 \/ a8 m
{
7 J C" i$ _/ J
PORTA=0X00;
7 _4 y9 {0 H5 ]' y
}
. m1 U1 z; J' D. w9 a" M6 l/ A# l: G
}
作者:
krew84
时间:
2012-8-7 13:06
百度一段中断程序参考啥
5 ]! J( [- t+ |, e/ `
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2