G
Guest
Guest
안녕하세요 저는 PIC18F4550와 i를 사용하고 자사의 인터럽트, 내가 사용하고자 할 때 RB0에 방해가 접수됐다 깜박하는 간단한 코드를 작성했습니다.하지만 그시기 바랍니다 코드와 가이드를 참조하십시오 작동하지 않습니다.
감사합니다
코드 ://************************************************ *************************************************
/ / int0에 대한 테스트 코드 portD에 방해 receving의 LED 깜박임# 포함 <p18f4450.h>
무효의 main (무효);
무효 InterruptHandlerHigh (무효);메인 무효 ()
(
int 전 = 0;
INTCON2bits.INTEDG0 = 1; / / m의 인터럽트 에지 상승하고있습니다
INTCONbits.INT0IE = 1; / / m의 인터럽트를 활성화
INTCONbits.GIEH = 1; / / 글로벌 인터럽트 활성화
TRISB = 1; / / 입력 포트 b 설정
TRISD = 0; / / 출력 d 개의 포트를 설정
(1) 반면, 루프 / / 이동, 인터럽트 receving에 출소 후 되돌아 온다.
) / / 마지막 주/ / 우선 순위가 높은 인터럽트 벡터
#에서 Pragma 코드 InterruptVectorHigh = 0x08
무효
InterruptVectorHigh (무효)
(
_asm
고토 InterruptHandlerHigh / / 점프 루틴을 방해하고
_endasm
)
//------------------------------------------------ ----------------------------
/ / 우선 순위가 높은 인터럽트 루틴
#에서 Pragma 코드
#에서 Pragma InterruptHandlerHigh 인터럽트
무효
InterruptHandlerHigh ()
(int 전 = 0;
일본 = 0 int;
(INTCONbits.INT0F 경우)
(
INTCONbits.INT0IE = 0; / / m의 인터럽트 비활성화(일본 = 0; j를 "4; j를 )// 전환 bit0 또는 portD 인터럽트 수신
(
LATDbits.LATD0 = 1;
위한은 (i = 0; 난 "40000; 난 );
LATDbits.LATD0 = 0;
위한은 (i = 0; 난 "40000; 난 );
)INTCONbits.INT0F = 0; / 플래그를 재설정 난 /
)
INTCONbits.INT0IE = 1; / / m의 인터럽트를 활성화
)//------------------------------------------------ ----------------------------
//************************************************ *************************************************
감사합니다
코드 ://************************************************ *************************************************
/ / int0에 대한 테스트 코드 portD에 방해 receving의 LED 깜박임# 포함 <p18f4450.h>
무효의 main (무효);
무효 InterruptHandlerHigh (무효);메인 무효 ()
(
int 전 = 0;
INTCON2bits.INTEDG0 = 1; / / m의 인터럽트 에지 상승하고있습니다
INTCONbits.INT0IE = 1; / / m의 인터럽트를 활성화
INTCONbits.GIEH = 1; / / 글로벌 인터럽트 활성화
TRISB = 1; / / 입력 포트 b 설정
TRISD = 0; / / 출력 d 개의 포트를 설정
(1) 반면, 루프 / / 이동, 인터럽트 receving에 출소 후 되돌아 온다.
) / / 마지막 주/ / 우선 순위가 높은 인터럽트 벡터
#에서 Pragma 코드 InterruptVectorHigh = 0x08
무효
InterruptVectorHigh (무효)
(
_asm
고토 InterruptHandlerHigh / / 점프 루틴을 방해하고
_endasm
)
//------------------------------------------------ ----------------------------
/ / 우선 순위가 높은 인터럽트 루틴
#에서 Pragma 코드
#에서 Pragma InterruptHandlerHigh 인터럽트
무효
InterruptHandlerHigh ()
(int 전 = 0;
일본 = 0 int;
(INTCONbits.INT0F 경우)
(
INTCONbits.INT0IE = 0; / / m의 인터럽트 비활성화(일본 = 0; j를 "4; j를 )// 전환 bit0 또는 portD 인터럽트 수신
(
LATDbits.LATD0 = 1;
위한은 (i = 0; 난 "40000; 난 );
LATDbits.LATD0 = 0;
위한은 (i = 0; 난 "40000; 난 );
)INTCONbits.INT0F = 0; / 플래그를 재설정 난 /
)
INTCONbits.INT0IE = 1; / / m의 인터럽트를 활성화
)//------------------------------------------------ ----------------------------
//************************************************ *************************************************