|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?( T; \7 L, ^ z$ s3 n9 c0 ?( O
#include<iom128v.h>
& |3 t- s5 Z9 f# \, G7 {9 ^#include<macros.h>8 l) I( c7 I& U6 f* W3 i
6 r5 P- ?7 M9 |5 _1 W) E
#define uchar undigned char
% g' g8 v+ e, c1 I) x# E; k( G9 B$ r6 j, j. }4 I7 P
#pragma interrupt_handler int3_isr:54 e$ s! J, @; c! p/ Y2 S
void int3_isr(void)% _1 l0 b- O7 n/ V0 R
{( M) O8 [! Y( L) l$ {8 x
PORTA=0X0F;
8 m8 V& {5 x* ?' k* w: A7 \}( Y% V! k$ ?& }/ n, l/ o% K2 O
( p6 `- S/ g+ f" _6 l0 z4 ]
void INT3_init(void)5 j: v: X* a+ z3 h8 j
{
' {- b b. h& x( p" L1 e" z EIMSK=0X00; //屏蔽外部中断
& d- M: w6 l1 Q2 x4 b2 [ EICRA=0X80; //设置外中断3为下降沿触发
- a% @' R" K. I$ }( J0 a: p EIFR=0X00; //中断寄存器置00 X9 e, B Z- O7 Y3 h
SREG=0X80; //打开全局中断. K( X! G' }( S
EIMSK=0X08; //使能外部中断3
9 l3 W9 I) w: O, Q}
1 O. [1 s% T2 w4 ~9 y) }" m2 @/ u) m0 Q2 e" Z
void main(void)
+ q+ G# F! S! ?) Q% V& D: V6 e# o/ T5 \{
0 b4 F5 r. ^/ h0 K! S% P, X PORTA=0XFF;/ n- ~2 ^- L$ |. h- ^5 X
DDRA=0XFF;
+ t) ]2 g/ K4 m1 i PORTE=0X04;
4 {9 X0 ^7 C+ _8 O% I DDRE=0X04;
$ |& \; w! @9 D1 \0 r" A INT3_init(); //中断初始化
4 m" N3 R h9 D9 @4 R# N while(1): O( c* x _2 r) z
{
+ j% e3 y: P# \8 a* @ PORTA=0X00;
/ y. y9 ]& t& Z; g: W) ? }5 M$ i% b7 `: ~# _
} |
|