?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

아두이노-안드로이드 통신

페이지 정보

작성자 radi 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-02-10 01:17 조회1,052회 댓글1건

첨부파일

본문

안드로이드(BTChat)에서 보낸 데이터를 oled에 출력하고자합니다.

몇가지 어려움이 있어서 질문합니다.

 

문제1.라이브러리 로고화면위에 데이터가 입력됨. (로고출력을 꼭 해야한다는 가정.)

      clearDisplay함수를 어디에 써야할지 감이안잡힙니다...

문제2.화면에 문자가 꽉차면 clearDisplay되고 처음부터 다시 입력받게 하고싶습니다.

 

첨부파일은 허접하지만 제가 어느정도 해본 결과입니다.

답해주시면 감사하겠습니다.(__)

댓글목록

하드카피님의 댓글

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

1. setup() 함수에서 초기화 할때 display.display() 하죠? 이 바로 전에 clear() 한번 해주세요. 그럼 로고없이 빈 화면으로 출력 될 겁니다. 로고를 출력해야 한다면... 로고 출력 후 delay()로 잠시 기다렸다 clear() - display() 해주면 됩니다. (혹은 첫 입력 받을 때까지 기다렸다 clear())
2. BT에서 1byte 읽은 뒤 출력하는 drawMessage() 함수를 다음과 같이 바꿔보세요.
- 1byte 읽은 후 화면을 지울 필요가 없다면 write() 후 display() 해주면 됩니다. 그럼 기존 화면이 지워지지 않고 출력 내용이 누적됩니다.
- 1byte 읽은 후 화면을 지워야 하는 시점이라면... clear() 호출 후 write() 해주고 display() 합니다. 그럼 빈 화면에 글자가 써집니다.
3. BT에서 글자가 굉장히 빠른 속도로 입력되므로 1byte 씩 출력하기 보다는 버퍼에 일정 시간 모아뒀다 한꺼번에 출력하시는게 좋을 듯 합니다. 소스는 좀 길어지겠지만요 :)