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- Avoid 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;                //中断寄存器置01 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 Avoid 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