W7100A에 대한 소스를 코딩하고 있는중인데요
소스상에서 nINT0 PIN에 대한 인터럽트 발생하는 루틴에 대한 예제가 있었으면 합니다.
또한 해당 nINT0의 현재 신호 상태(High, Low인지)를 알 수 있으려면 어떻게 해야하는지요?
레지스터를 어떻게 세팅해주어야 하는지?
인터럽트는 Low active로 동작해야합니다.
인터럽트를 소스처럼하면 될 듯한데요
nINT0 포트의 Low, High상태를 알려면 어떻게 해야하는지요?
안녕하세요.
nINT0 은 신호가 0으로 입력되면 자동으로 interrupt service routine call이 일어납니다.
그래도 입력신호가 low인지 high인지 알고 싶으시다면, 따로 핀을 연결하여 확인하는 방법이 있습니다.
그리고 low인지 high인지를 왜 알고 싶으신지 좀더 구체적으로 설명해주시면 도움이 될 것 같네요.
nINT0 pin을 인터럽트로 쓸때도 있고 인터럽트가 아닌 포트스캔을 할 때도 있어서 그렇습니다.
nINT0을 원하는 임의의 포트(Px_N)로 연결을 한후 해당 포트 핀을 읽으면 됩니다.
표준 8051 포트와 같은 구조로 동작하므로 8051 포트 제어를 참조하시면 됩니다.
예로, nINT0을 P3_0으로 연결한 하고 nINT0값을 읽는 경우
char temp;
P3_0 = 1; // Port Read 설정을 위해 먼저 1을 Write한다.
temp = P3_0; // Port3의 0번을 읽어 temp에 저장
if(temp & 0x01)
printf("nINT0 is High\n");
else
printf("nINT0 is Low\n");