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# t
void 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. h
void 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