컨트롤러"그림

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의 인터럽트를 활성화

)//------------------------------------------------ ----------------------------

//************************************************ *************************************************
 
안녕,

왜 당신이 당신의 내부 인터럽트 핸들러 인터럽트를 해제하니?, 당신은 어떻게 작동 인터럽트 이해가 안 보인다.

 

Welcome to EDABoard.com

Sponsor

Back
Top