> For the complete documentation index, see [llms.txt](https://cavedu.gitbook.io/linkit-7697/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cavedu.gitbook.io/linkit-7697/linkit-7697-arduinoide/kai-fa-zhi-nan/shi-yong-ble-di-gong-hao-lan-ya/lble-api-zhi-nan/lble.md).

# LBLE

**LBLE** 是一個代表底層藍牙子系統的單件（Singleton），它的主要功能是初始化藍牙子系統。開發者並不需要自行宣告並創建 LBLE 物件，相反的，只要引入 **LBLE.h** 標頭檔，就可以使用 `LBLE.begin()` 等 API。底下的範例程式碼，會初始化藍牙子系統，並且等待直到初始化完成：

```
#include <LBLE.h>
void setup(){
    LBLE.begin();
    while(!LBLE.ready()){delay(10);}
 
	// 初始化完成之後，我們才能呼叫其他的 LBLE 類別的 API。
}
```

{% hint style="danger" %}
在使用任何其他 LBLE 程式庫的 API 之前，請務必先初始化藍牙子系統。
{% endhint %}

### Methods <a href="#lble-methods" id="lble-methods"></a>

\> begin()

\> ready()

\> getDeviceAddress()

{% tabs %}
{% tab title="begin()" %}
開始初始化藍牙子系統。

這個函式必須在所有其他 LBLE API 之前被呼叫。在呼叫此 begin() 函式之後，應該要呼叫 ready() ，並根據其回傳值確認子系統是否已經準備就緒。

**Syntax**

**Parameters**

n/a

**Returns**

回傳 1：表示成功的開始初始化（注意，僅代表初始化開始，不代表初始化已經完成）

回傳 0：表示藍牙子系統無法開始初始化。
{% endtab %}

{% tab title="ready()" %}
確認藍牙子系統是否準備就緒。

**Syntax**

**Parameters**

n/a

**Returns**

回傳 0：藍牙子系統尚未準備就緒。

回傳 1：藍牙子系統已經準備就緒。
{% endtab %}

{% tab title="getDeviceAddress()" %}
取得 LinkIT 7697 開發版的裝置地址。

**Syntax**

**Parameters**

n/a

**Returns**

一個代表裝置地址的 **LBLEAddress** 物件。
{% endtab %}
{% endtabs %}
