BASIC4MCU | 질문게시판 | 인터럽트 딜레이 질문입니다!
페이지 정보
작성자 망고 작성일2020-09-21 14:48 조회7,802회 댓글3건본문
안녕하세요 제가 준비중인 작은 프로젝트 거의 막바지 단계에서 어려움을 겪고 있어 도움을 좀 얻고자 합니다!
현재 키패드, 서보모터, LCD, 초음파센서, LED이렇게 이용하고 있습니다
주차장 입구에서 비밀번호를 누르면 비밀번호 확인후, 맞으면 차단게이트(서보모터)를 열어주고
주차를 하면 그 자리의 초음파센서가 차를 인식후, 그 자리의 LED를 끄는 프로젝트입니다
초음파센서는 인터럽트를 이용해서 구현했는데,
차단게이트가 열리는 코드까지 완성해 놓은 main함수 while문에 초음파센서 코드를 합치니
lcd에 표시할 문구에 만약 _delay함수를 사용하지 않으면 인터럽트가 바로바로 발생하지만
_delay함수를 사용하면 _delay가 다 끝난 후 동작합니다...ㅠㅠ
lcd에 문구를 표시하려면 delay함수가 필수인데 이걸 어떻게 해결할 수 있을까요?
아이디어가 잘 떠오르지 않습니다 도와주세요ㅠㅠ
코드는 간단하게 요약하자면 아래처럼 동작 됩니다!
ISR(INT0_vect)
{
//초음파 센서 인식 및 led동작
}
int main()
{
while()
{
//초음파센서 동작 if문
case:
//그외 키패드, lcd, 서보모터 동작
break;
}
}
void keypad()
{
//키패드 동작 함수
}
.
.
.
그 외 여러 함수들
댓글 3
조회수 7,802master님의 댓글
master 작성일메인함수의 딜레이는 인터럽트와 상관없습니다.
망고님의 댓글
망고
감사합니다! 그러면 메인함수 외의 다른함수들에 있는 delay는 인터럽트 사용시 문제가 되는건가요?
master님의 댓글
master
인터럽트 함수만 문제가 됩니다.