외부인터럽트 질문 입니다.
지지않는
질문 제목 : 질문 내용 :
void cmain(void){
int i=0;
main1:;
void chk_reset(int d){
int i;
for(i=0; id; i++){
delay(1); if(reset)return;
}
}
while(1){
if (portin(5)){
if (reset);
}
if( portin(0) ){ // 스위치 0번 누르면 센서동
if(++servo2)servo=0; // servo 증가
if(servo==1){ chk_reset(3000); motormove(0,0,2500);if(reset)goto main1;}
if(servo==2){ chk_reset(3000); motormove(0,0,5000);if(reset)goto main1;}
}
}
}
외부인터럽트 질문인데요..
portin(0) 번을 누르면 서보모터가 움직이는데.
여기서 움직이다가 portin(5) 번을 누르면 비상정지 버튼으로 portin(0) 번을 눌러도 동작을 안하게 할려고 하거든요
그래서 main1 을 goto 함수로 while문을 빠지게 했는데 막상 돌리면 안되 더라고요....
어떻게 해야 할지 모르겠습니다..
-
유메
논리 전개 방법에 조금 문제가 있는 것 같습니다. 그리고 본인이 작성한 질문 글을 한번 직접 읽어보시길 바랍니다. 본인이 작성한 글을 본인도 이해하기 힘들다면 다른 사람은 더 이애하기 힘들 것입니다.
(1) 0번 스위치를 누르면 서보 모터가 정지한다.
(2) 5번 스위치를 누르면 0번 스위치가 동작하지 않게 한다.
그런데 질문글과 달리 5번 스위치가 아닌 0번 스위치를 눌렀을 때 goto main1 명령을 실행하여 빠져나옵니다. 그리고 5번 스위치가