|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大家帮忙看一下这个用ICC AVR 编写的MEGA128的程序,为何我给了INT3下降沿,而程序始终无法进入到中断里面去执行程序?还有哪里没有设置正确吗?9 c, d' M v! B3 n) a+ C q( I
#include<iom128v.h>
8 h" J O2 s5 B2 Z5 |. p#include<macros.h>
& D/ O2 P% b3 X# R' j& z( t& l8 T1 N4 l: Z4 g
#define uchar undigned char
3 y5 c$ I) q1 [; D' g& l) b: e! h
#pragma interrupt_handler int3_isr:5! D( f+ ?0 M( S
void int3_isr(void)
i1 `, N7 ^; O+ B{
" a! j0 V5 o$ r" L+ N: d, |' @" `2 [: G PORTA=0X0F;
9 A8 O1 c& d# D8 w0 j0 {! c; d7 w- ^$ l% Z}5 `/ Y' e8 b3 J N% q
" R N3 g5 C8 I3 \/ Z+ o0 T
void INT3_init(void)/ B) |2 _) Y2 I, s
{
! r7 ]! I* Y6 @/ W K5 ~+ L8 R EIMSK=0X00; //屏蔽外部中断
( b( q, W; |7 n* @/ o EICRA=0X80; //设置外中断3为下降沿触发
/ U& _2 T2 x: n0 f4 ? EIFR=0X00; //中断寄存器置0
; c: r! ]) x2 V! x# }' F" Q& O* { SREG=0X80; //打开全局中断6 e" _, H8 v0 P, }
EIMSK=0X08; //使能外部中断3
; t6 X8 S$ \, D3 a) p$ v! u}
4 ]3 v, H0 a# U1 T' [3 L% R7 q6 g( o/ G
void main(void)( f6 k3 ^+ S- H, q. r6 H$ d2 {
{; J. h4 M0 m; c
PORTA=0XFF;
- I; G# ?1 S" n3 j" o, a DDRA=0XFF;( |; W& W5 n, J' G
PORTE=0X04;
) m) h- S1 w4 ^ h! r5 m DDRE=0X04;
7 w: x2 O1 W5 ] j0 [ INT3_init(); //中断初始化
8 [3 Q' l9 X5 I$ I3 ^1 e while(1)+ w6 W( O1 r! i+ t- m) j
{+ S% H* Y- ?5 h% f
PORTA=0X00;. j: O9 ~# H# P' k
}4 ` g8 e/ @- b( L4 W
} |
|