EDA365电子工程师网

标题: 为何无法进入mega128的外中断? [打印本页]

作者: weixiao8776    时间: 2012-8-1 22:48
标题: 为何无法进入mega128的外中断?
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?* _. n5 f5 D: r  o. T
#include<iom128v.h>
) g( H9 \3 o! m, C# j/ K( [5 J#include<macros.h>
% Y# s4 t2 }, C8 [8 t3 K: ^
1 {# l2 O: l! G2 e2 S( e/ @#define uchar undigned char
% q5 X/ K& i0 D. c# ?8 M# E# g; L& ~) d$ Q3 j' R: z' [
#pragma interrupt_handler int3_isr:5
6 [5 h* @; l5 H$ X* K8 V# tvoid int3_isr(void)+ h& p; u3 ?: j' F
{
# l( @6 q7 j# [        PORTA=0X0F;
5 ~2 F  a5 i3 h9 [" m}
" l  I6 C+ [6 \+ ^8 b# ?
0 w/ {  H! N: b3 q4 |8 ^void INT3_init(void)
$ {+ o; A4 _% \1 _& ^3 m{4 d8 J! w. x# V. q. U  e
        EIMSK=0X00;                //屏蔽外部中断, B3 D  ^& E( z* {" X- ~, |" T
        EICRA=0X80;                //设置外中断3为下降沿触发
5 {, {2 G- Z# r. t! t        EIFR=0X00;                //中断寄存器置0( d  [( ^4 a" k" v5 t
        SREG=0X80;                //打开全局中断
( q4 d8 ]9 d5 ?" k3 J4 a+ A        EIMSK=0X08;                //使能外部中断3
# r" U* v% d' i/ @; O  }$ n}$ J1 a4 J. u$ v& C7 L2 L0 Q

, o& I: k  j1 R& v2 x. hvoid main(void)
4 i! l2 j; o# I  X{
& T8 K" F& p7 E! C        PORTA=0XFF;
3 W5 m0 k8 B  f# c2 T        DDRA=0XFF;
& j3 `5 Q& X& O/ p        PORTE=0X04;
# F& A4 d) o! b        DDRE=0X04;0 g; z; n; A! Z# O1 {- f
        INT3_init();        //中断初始化
- j9 K0 b7 ?0 ^1 N        while(1)
& a; S1 g2 p& x% N# J' |        {( Q* ?/ r3 h% B. b7 Y  h
         PORTA=0X00;7 Z) t( |8 w% x% }$ f
        }
) S9 H. N" C4 G5 T$ H. N  E3 l}
作者: krew84    时间: 2012-8-7 13:06
百度一段中断程序参考啥
2 l) _, E7 H  o/ F  C' z




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2