주요 콘텐츠

Bluetooth 통신에 콜백 사용하기

이벤트와 콜백을 사용하여 Bluetooth® 기기의 성능과 유연성을 향상시킬 수 있습니다. 이벤트는 조건이 충족된 후 발생하며 하나 이상의 콜백이 발생할 수 있습니다.

MATLAB®이 Bluetooth 기기에 연결되어 있는 동안 이벤트를 사용하여 메시지 표시, 데이터 표시, 데이터 분석 등의 작업을 수행할 수 있습니다. 콜백 속성과 콜백 함수를 통해 콜백을 제어할 수 있습니다. 모든 이벤트 유형은 연결된 콜백 속성을 가집니다. 콜백 함수는 자신의 특정 애플리케이션 요구 사항에 맞게 작성하는 MATLAB 함수입니다. 콜백 함수 이름을 연결된 콜백 속성의 값으로 지정하여 특정 이벤트 발생 시 콜백을 실행합니다.

콜백 속성

콜백과 연결된 Bluetooth 속성과 함수는 다음과 같습니다.

속성 또는 함수용도
NumBytesAvailable읽을 수 있는 바이트 수
BytesAvailableFcn가용 바이트 콜백 함수
BytesAvailableFcnCount콜백을 트리거할 데이터 바이트 수
BytesAvailableFcnMode가용 바이트 콜백 트리거 모드
configureCallbackBluetooth 기기와의 통신을 위한 콜백 함수와 트리거 조건을 설정
ErrorOccurredFcn오류 이벤트에 의해 트리거되는 콜백 함수
UserData사용자 데이터의 범용 속성

콜백 사용하기

이 예제에서는 루프백 장치로 구성된 HC-06 Bluetooth 트랜시버 모듈을 사용합니다.

  1. 콜백 함수를 만듭니다. 수신된 데이터를 읽고 이를 bluetooth 객체의 UserData 속성에 저장하는 콜백 함수 collectData를 정의합니다.

    function collectData(src,evt)
        src.UserData = [src.UserData; read(src,src.BytesAvailableFcnCount)];
    end
    
  2. 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
    
    
  3. 5바이트를 기기에서 보내고 MATLAB에서 수신할 때마다 데이터를 읽어오고 수집하도록 콜백 속성을 구성합니다.

    configureCallback(hc06,"byte",5,@collectData);
  4. bluetooth 기기 객체를 다 사용했으면 이 객체를 지웁니다.

    clear hc06

참고 항목

| |

도움말 항목