: ble 프로그램 작성시 bonding 정보를 얻기위해 esp_ble_get_bond_device_list() 함수를 사용할경우 주의사항 입니다. bond_dev_list 변수를 초기화 하지 않을 경우 잘못된 데이타를 읽어 옵니다.
▶ 소스코드는 아래 내용 참고하세요.
uint8_t dev_count=0;
esp_ble_bond_dev_t bond_dev_list[8];
memset(bond_dev_list,0,sizeof(bond_dev_list)); <---- 요기 라인 없을 경우 데이타 잘못됨.
dev_count =esp_ble_get_bond_device_num();
iRet = esp_ble_get_bond_device_list(&dev_count ,bond_dev_list);
if(iRet == ESP_OK){
ESP_LOGI(HID_DEMO_TAG,"Number of bonded devices : %d",dev_count );
for(i=0;i<dev_count;i++){
ESP_LOGI(HID_DEMO_TAG,"Device %d -Addr : %02X:%02X:%02X:%02X:%02X:%02X",
i, bond_dev_list[i].bd_addr[0],bond_dev_list[i].bd_addr[1],
bond_dev_list[i].bd_addr[2], bond_dev_list[i].bd_addr[3],
bond_dev_list[i].bd_addr[4],bond_dev_list[i].bd_addr[5]);
}
}
▼ memset(bond_dev_list,0,sizeof(bond_dev_list)); 주석처리시 로그
I (6275) HID_DEMO: Number of bonded devices : 2
I (6275) HID_DEMO: Device 0 -Addr : A5:A5:A5:A5:A5:A5
I (6275) HID_DEMO: Device 1 -Addr : A5:A5:A5:A5:A5:A5
▼ memset(bond_dev_list,0,sizeof(bond_dev_list)); 추가된 상태 로그
I (4695) HID_DEMO: Number of bonded devices : 2
I (4695) HID_DEMO: Device 0 -Addr : 73:62:98:D4:B0:3A
I (4695) HID_DEMO: Device 1 -Addr : 6A:8E:A3:4A:01:39
< 기타 >
▶ esp_ble_get_bond_device_list() 함수 선언
함수 사용시 참고하세요.
반응형
'ESP32' 카테고리의 다른 글
[VSCode][ESP-IDF] menuconfig 에러 (python path 설정) (0) | 2023.12.27 |
---|---|
[ESP-IDF][VSCode][1] esp_timer 프로젝트 분석 (0) | 2023.12.14 |
[ESP-IDF][ble_hid_device_demo][3] 프로젝트 간략 분석 (0) | 2023.12.13 |
[esp-idf] idf.py 사용법 (build,flash,monitor,create-project,....., ) (0) | 2023.11.30 |
[VSCode][Ubuntu][ESP32] ERR : ibusb_open() failed with LIBUSB_ERROR_ACCESS (0) | 2023.11.14 |