fallwich   2년 전

preview

안녕하세요. 블루투스 통신을 이용해서 센서를 사용하려고 합니다. 쓰레드를 이용해서 앱으로부터 데이터를 받는 곳을 따로 설정 했습니다. 그래서 프로그램을 시작하고 open이라는 데이터를 받았을 때 get_data()함수는 잘 실행되는 것을 확인했습니다. 하지만 반복문으로부터 탈출 하려고 getout 데이터를 수신했을 때는 데이터는 잘 받아오지만 반복문이 탈출이 안됩니다. 무엇이 문제일까요...?

onart   2년 전

가능성을 생각해 보면,

- 수신되는 데이터를 받을 때마다 open으로 시작하는 구조가 맞나요? 그렇지 않은 경우라면 첫 3초 안에 getout이 안 나오면 그 다음부터 영원히 20행 if를 통과 못 하겠네요.

- t3은 decode_data를 작성하고 전역 범위의 while문에서는 읽는데 만약 읽기 전에 decode_data를 한 번 더 갈아치운다면 설령 매번 open을 보낸대도 간혹 위와 같은 문제가 발생할 것 같습니다. 이는 생산-소비가 일대일 대응이 되도록 바로잡아야 합니다.

댓글을 작성하려면 로그인해야 합니다.