도와주세요!!
글 수 15,339
2006.08.04 23:35:35 (*.118.74.179)
6676
몇일 전에 글을 올렸는데 답변이 없어서 전화했는데 홈페이지에서만 질문을 받는다고 해서
제가 너무 무턱대고 너무 뜬구름 잡듯이 질문하여 답변이 없는 듯하여 자세히 질문드립니다.
도와주세요 ㅠ
저희가 시리얼 통신 방식을 기존의 폴링 방식에서 인터럽트방식으로 바꾸고 싶은데요
이곳저곳 다 알아봤지만 문서나 성공하신 사례같은 게 없어서 도움을 요청합니다.
일단
void Init_interrupt(void)
{
ICLR = 0 ; // 모든 인터럽트는 IRQ 로 세팅한다
ICMR = 0; // 모든 인터럽트를 불가능으로 설정
ICCR=1; // 인터럽트를 ICMR에 정의된 대로 해결한다
interrupt_Enable_Interrupt_Pin(10);
interrupt_Enable_Interrupt_Pin(20);
interrupt_Enable_Interrupt_Pin(26);
interrupt_SetMode_IRQ(10); // GPIO 핀이 인터럽트
가능하도록 한다
interrupt_SetMode_IRQ(20); // STUART 인터럽트 가>능도록 한다
interrupt_SetMode_FIRQ(26); // 첫번째 타이머의 인>터럽트를 활성화시킨다
}
void interrupt_Enable_Interrupt_Pin(int Pin_num)
{
int Bit_Idx=1;
Bit_Idx <<=Pin_num;
ICMR |= Bit_Idx;
}
이런식으로 인터럽트를 UART 부분을 활성화 합니다.
그 후에
void knl_serial_InitSerial()
{ int temp=STIIR;
STMCR = 0;
STMCR = 4;
//-------------
STIER = 0;
STIER |= 0x49;
//-------------
STFCR = 0;
STFCR |=3;
temp=STIIR;
//-------------
}
이런 식으로 인터럽트 레지스터를 세팅하여 인터럽트를 들어오게 하였는데
시리얼 인터럽트가 잘 안되네요 도와주세요 ㅠ
제가 너무 무턱대고 너무 뜬구름 잡듯이 질문하여 답변이 없는 듯하여 자세히 질문드립니다.
도와주세요 ㅠ
저희가 시리얼 통신 방식을 기존의 폴링 방식에서 인터럽트방식으로 바꾸고 싶은데요
이곳저곳 다 알아봤지만 문서나 성공하신 사례같은 게 없어서 도움을 요청합니다.
일단
void Init_interrupt(void)
{
ICLR = 0 ; // 모든 인터럽트는 IRQ 로 세팅한다
ICMR = 0; // 모든 인터럽트를 불가능으로 설정
ICCR=1; // 인터럽트를 ICMR에 정의된 대로 해결한다
interrupt_Enable_Interrupt_Pin(10);
interrupt_Enable_Interrupt_Pin(20);
interrupt_Enable_Interrupt_Pin(26);
interrupt_SetMode_IRQ(10); // GPIO 핀이 인터럽트
가능하도록 한다
interrupt_SetMode_IRQ(20); // STUART 인터럽트 가>능도록 한다
interrupt_SetMode_FIRQ(26); // 첫번째 타이머의 인>터럽트를 활성화시킨다
}
void interrupt_Enable_Interrupt_Pin(int Pin_num)
{
int Bit_Idx=1;
Bit_Idx <<=Pin_num;
ICMR |= Bit_Idx;
}
이런식으로 인터럽트를 UART 부분을 활성화 합니다.
그 후에
void knl_serial_InitSerial()
{ int temp=STIIR;
STMCR = 0;
STMCR = 4;
//-------------
STIER = 0;
STIER |= 0x49;
//-------------
STFCR = 0;
STFCR |=3;
temp=STIIR;
//-------------
}
이런 식으로 인터럽트 레지스터를 세팅하여 인터럽트를 들어오게 하였는데
시리얼 인터럽트가 잘 안되네요 도와주세요 ㅠ