?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

ESP8266 모듈 관련 질문 및 인터럽트 걸기..

페이지 정보

작성자 세르피르 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-07-04 16:26 조회906회 댓글2건

본문

ESP8266으로 이것 저것 해보고있습니다.

기초지식도 많이 모자라고해서 먼가를 하면 하는데로 막혀서 맨땅에 해딩을 하디듯.. 구굴과 네이버를 주구장창 검색만 해대고있는데.. 역시 답을 못찾는경우도 허다하네요.ㅠ.ㅠ

node.js 서버와 Esp8266간의 통신을 하고있는데..

void loop() {

/* 이곳에서 통신상태와 소켓테이터를 받아와서 처리를 하고있습니다.

    이곳에서 풀어스위치의 푸시를 감지했더니 가끔씩 인지를 못하네요..

    그래서 인터럽트를 지정했는데 안됩니다.. ㅠ_ㅠ

}

우선 제가 알고있는 지식을 총동원했습니다.

WeMosD1 이보드의 핀번호값이 도저희 이해를 못하겠더라고요..

윗번에 D1,D2써있기는 한데 이걸 핀번호를 입력을 하면 먹히지를 않습니다.
밑부분에 써있는 GPIO번호를 입력해야 인식이 되네요..

그리고
인터럽트를 해보기위해.. SETUP부분에  다음과 같이 작성했습니다.
attachlnterrupt(1, 실행할 함수, FALLING);

D3, GPIO0,1,2,3 다해봤지만 먹동이테요..

 

아두이노Arduino IDE 로 작성된 간단한 ESP8266모듈 인터럽트 예제좀 얻을수없을까요..ㅠㅠ

댓글목록

memnoth님의 댓글

memnoth 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

Interrupt가 허용되는 Pin 번호가 있습니다, Uno 는 2, 3 (Digital)이라 적혀 있습니다.
(WeMos D1이 Uno 기반이라는 가정하에)
attachInterrupt(2 (또는 3), ISR 함수, CHANGE); 로 바꿔서 스위치가 작동되는지 확인하시면 될 것 같습니다.
FALLING 모드는 신호값이 HIGH에서 LOW로 변경되는 시점에서 인터럽트를 호출하고,
CHANGE 모드는 신호값이 HIGH던 LOW던 '변경'에 포커스를 두고 인터럽트를 호출합니다.

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

D1, D2... 처럼 붙은 핀 넘버는 아두이노 보드처럼 넘버링 한 것인데, 실제 코드를 작성할때는 이걸 사용하면 안되더라구요. GPIO 넘버를 사용해야 합니다.
해외 포럼을 뒤져보니 ESP8266 인터럽트는 GPIO16 을 제외하고 어떤 핀이든 사용이 가능한 것 같습니다. CHANGE, RISING, FALLING 조건으로 사용이 가능하다고 합니다. 아래 링크 내용을 참고하세요.
http://www.esp8266.com/viewtopic.php?f=32&t=4694