nordic裝置做主機發現服務失敗

2021-10-01 21:01:43 字數 768 閱讀 8933

現象:裝置做為主裝置,去連線從裝置。每次都可以連線上,但是在發現服務的過程**錯。

static uint32_t service_discover(client_t * p_client)

} else

...}

錯誤碼4的定義(nrf_error.h):

#define nrf_error_no_mem                      (nrf_error_base_num + 4)  ///< no memory for operation
錯誤是說沒有足夠的記憶體給到使用者。

解決方案:

sdk_config.h

// nrf_sdh_ble_vs_uuid_count - the number of vendor-specific uuids. 

#ifndef nrf_sdh_ble_vs_uuid_count

#define nrf_sdh_ble_vs_uuid_count 1

#endif

nrf_sdh_ble_vs_uuid_count的預設值為0,該值表示可以新增多少個自定義服務的uuid到協議棧。如果為0則表示協議棧不會給使用者的自定義的服務分配記憶體空間,所以為0的時候會報nrf_error_no_mem錯誤。將該值設定成合適的值(需要向協議棧新增多少個自定義服務uuid就把該值設定為多少)。

Linux裝置與主機規劃

本文章參考了 鳥哥的linux私房菜 linux命令手冊 linux命令大全 以及 linux man pages 未經作者允許,嚴禁用於商業出版 各元件或裝置在linux都是抽象成乙個檔案。各裝置在linux中的檔名 裝置檔名 scsi sata usb硬碟 dev sd a p u盤 dev s...

USB主機列舉USB裝置步驟

usb主機列舉usb裝置步驟 1.usb主機對usb裝置進行復位,復位後usb裝置用端點0來傳輸資料 usb主機向usb裝置傳送獲取裝置描述符指令,usb裝置收到指令後,通過端點0將裝置描述符資訊返回給usb主機,且若端點0中包含完整的18位元組裝置描述符資訊,則將完整的裝置描述符資訊返回給usb主...

使用 ESXCLI 命令從主機移除裝置

使用 esxcli 命令從主機移除裝置 更新時間 2019年05月31日 選擇的產品版本 vmware vsphere 6.7 如果檢測到失敗的儲存裝置或公升級裝置,則可以使用 esxcli 命令手動從主機中移除該裝置。如果移除某個快閃儲存器快取裝置,則 vsan 將刪除與該快閃儲存器裝置關聯的磁碟...