아두이노 시리얼 통신 제어관련 문의드립니다!
페이지 정보
작성자 VaNs 작성일21-06-04 16:45 조회5,260회 댓글2건본문
시리얼 통신을통해 a와 b를 입력할 경우 모터가 제어 될 수있도록하였습니다
지금 상태는 a다음 바로 b를 입역하면 a가 끝난후 b가 실행되는데
입력하자마자 바로 원하는 값을 실행할 수 있는 방법이 있을까요?ㅠㅠ
지금 상태는 a다음 바로 b를 입역하면 a가 끝난후 b가 실행되는데
입력하자마자 바로 원하는 값을 실행할 수 있는 방법이 있을까요?ㅠㅠ
댓글 : 2
조회수 : 5,260
master님의 댓글
master 작성일
딜레이가 많아서 오래 걸리는 것입니다.
딜레이 함수 뒤에 체크하는 문장을 두고 빠져나가도록 만들어보세요
delay(150); if(Seriai.available())return; // 수신이 있다면 루프문을 빠져나갔다가 다시 루프문 처음부터 실행
master님의 댓글
master 작성일
delay(750);
좀 긴 딜레이 경우에는 답답할 수도 있겠죠?
for(int i=0;i<75;i++)delay(10);
딜레이를 이렇게 쪼개서 실행할 수도 있습니다.
for(int i=0;i<75;i++){ delay(10); if(Seriai.available())return; }
이렇게하면 10ms 단위로 시리얼 수신을 체크하게 되는 것이죠