다른 인터럽트 벡터 내에서 인터럽트 벡터를 호출 할 수 있습니까? 예를 들어다른 인터럽트 벡터 내에서 인터럽트 벡터 호출
, 내가 ep4inout 인터럽트 벡터의 절차를하고 있어요 동안은 :
void ep4inout interrupt 0
{
.
.
.
Timer1 = 1; //call interrupt for timer 1
.
.
.
}
편집
내 코드는 대략 다음과 같습니다. Timer1 = 1은 타이머 1에 대한 인터럽트 요청이 설정되었음을 의미합니다. Timer 1 ISR의 내 절차가 작동하지 않습니다. FX2LP 매뉴얼에서 타이머 1은 종점 버퍼보다 우선 순위가 높습니다. 타이머 1의 우선 순위를 높게, 끝점 4를 낮게 설정하려고했습니다. 여전히 같은 결과입니다. 내 IDE로 Keil uVision2를 사용하고 내 마이크로 컨트롤러는 Cypress FX2LP (enchanced 8051 - USB 컨트롤러)입니다.
void ISR_Ep4inout(void) interrupt 0
{
.
.
.
Timer1Enable = 1;
Timer1 = 1; //call interrupt for timer 1
.
.
.
}
void TMR1_Vect(void) interrupt 2 //timer 1 interrupt
{
.
.
.
}
void TMR1_Vect interrupt 0 //timer 1 interrupt
{
.
.
.
}
답장을 보내 주셔서 감사합니다. Keil uVision 2를 사용하고 마이크로 컨트롤러는 Cypress FX2LP입니다. 타이머 1에 대한 ISR 테스트가 중단되지 않으면 내 절차가 전혀 작동하지 않습니다. 타이머 1은 타이머 1에 대한 인터럽트가 호출되었음을 의미합니다. BTW, 끝점 4의 우선 순위는 무엇입니까? –
@FranzMationg 원래 질문을 편집하고 거기에이 정보를 추가하면 더 좋을 것입니다. 사이트는 귀하뿐만 아니라 동일하거나 유사한 질문을하는 모든 사람에게 유용 할 것입니다. 또한 Cypress USB 컨트롤러 제품군에 익숙하지 않은 사용자를 위해 프로세서가 향상된 8051 구현임을 설명하는 것이 도움이됩니다. –