Bluetooth 통신에 콜백 사용하기
이벤트와 콜백을 사용하여 Bluetooth® 기기의 성능과 유연성을 향상시킬 수 있습니다. 이벤트는 조건이 충족된 후 발생하며 하나 이상의 콜백이 발생할 수 있습니다.
MATLAB®이 Bluetooth 기기에 연결되어 있는 동안 이벤트를 사용하여 메시지 표시, 데이터 표시, 데이터 분석 등의 작업을 수행할 수 있습니다. 콜백 속성과 콜백 함수를 통해 콜백을 제어할 수 있습니다. 모든 이벤트 유형은 연결된 콜백 속성을 가집니다. 콜백 함수는 자신의 특정 애플리케이션 요구 사항에 맞게 작성하는 MATLAB 함수입니다. 콜백 함수 이름을 연결된 콜백 속성의 값으로 지정하여 특정 이벤트 발생 시 콜백을 실행합니다.
콜백 속성
콜백과 연결된 Bluetooth 속성과 함수는 다음과 같습니다.
속성 또는 함수 | 용도 |
---|---|
NumBytesAvailable | 읽을 수 있는 바이트 수 |
BytesAvailableFcn | 가용 바이트 콜백 함수 |
BytesAvailableFcnCount | 콜백을 트리거할 데이터 바이트 수 |
BytesAvailableFcnMode | 가용 바이트 콜백 트리거 모드 |
configureCallback | Bluetooth 기기와의 통신을 위한 콜백 함수와 트리거 조건을 설정 |
ErrorOccurredFcn | 오류 이벤트에 의해 트리거되는 콜백 함수 |
UserData | 사용자 데이터의 범용 속성 |
콜백 사용하기
이 예제에서는 루프백 장치로 구성된 HC-06 Bluetooth 트랜시버 모듈을 사용합니다.
콜백 함수를 만듭니다. 수신된 데이터를 읽고 이를
bluetooth
객체의UserData
속성에 저장하는 콜백 함수collectData
를 정의합니다.function collectData(src,evt) src.UserData = [src.UserData; read(src,src.BytesAvailableFcnCount)]; end
HC-06 모듈에 대한
bluetooth
객체hc06
을 만듭니다.hc06 = bluetooth("HC-06",1)
hc06 = bluetooth with properties: Name: "HC-06" Address: "98D331FB3B77" Channel: 1 NumBytesAvailable: 0 NumBytesWritten: 0 Show all properties
5바이트를 기기에서 보내고 MATLAB에서 수신할 때마다 데이터를 읽어오고 수집하도록 콜백 속성을 구성합니다.
configureCallback(hc06,"byte",5,@collectData);
bluetooth
기기 객체를 다 사용했으면 이 객체를 지웁니다.clear hc06
참고 항목
bluetooth
| configureCallback
| read