广播数据和扫描回应数据,它们的长度都不能超过31个字节(0 ~ 31)(BT4.0里面),由有效数据部分和无效数据部分组成。数据的格式必须满足下图的要求, 1)  有效数据部分:包含N个AD Structure,每个AD Structure由Length,AD Type和AD Data组成。其中: Length:AD Type和AD Data的长度。AD Type:指示AD Data数据的含义。问题来了,我们怎么知道有哪些AD Type?他们又表示什么意义?可以查看,查看Nordic的SDK中的定义,AD type的定义在程序的“ble_gap.h”头文件中。定义如下:   #define BLE_GAP_AD_TYPE_FLAGS                               0x01 /**#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE   0x02 /**#define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE         0x03 /**#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE   0x04 /**#define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE         0x05 /**#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE  0x06 /**#define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE        0x07 /**#define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME                    0x08 /**#define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME                 0x09 /**#define BLE_GAP_AD_TYPE_TX_POWER_LEVEL                      0x0A /**#define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE                     0x0D /**#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C               0x0E /**#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R         0x0F /**#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE           0x10 /**#define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS          0x11 /**#define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE     0x12 /**#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT       0x14 /**#define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT      0x15 /**#define BLE_GAP_AD_TYPE_SERVICE_DATA                        0x16 /**#define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS               0x17 /**#define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS               0x18 /**#define BLE_GAP_AD_TYPE_APPEARANCE                          0x19 /**#define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL                0x1A /**#define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS         0x1B /**#define BLE_GAP_AD_TYPE_LE_ROLE                             0x1C /**#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256            0x1D /**#define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256      0x1E /**#define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID             0x20 /**#define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID            0x21 /**#define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA                 0x3D /**#define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA          0xFF /**
09-26 05:53