蓝牙4.0BLE协议栈学习笔记(二)

在学习开发蓝牙协议栈遇到的问题总结:
1.蓝牙设备号BD_ADDR就是MAC地址,不同于uuid,uuid是服务号,作为唯一标识符。
2.scanRspData数组是扫描回应数据数组,用户可以自定义设备名。advertData数组是广播数据数组,主要是包含在广播里的数据信息。
3.主从机通信:
主从机通信具体流程就是 Scanning (搜索) -->Devices Found(发现从机) --> Connected (连接) --> discoverService(发现设备服务)–>读写characteristic(属性)。协议栈中的SimpleBLEPeripheral是从机模式,主要是广播信息,让其他设备知道。SimpleBLECentral作为主机,主要是与从机建立连接。读写characteristic可以理解为GATT层的client向service发送数据,或者是service向client端发送数据。主机设备可以是client(客户端),也可以是service(服务器),即主机向从机发送数据,从机主动向主机发送数据。
主机向从机读写数据调用GATT_WriteCharValue函数和GATT_ReadCharValue函数。如下:
if ( simpleBLEDoWrite )
{
// Do a write
attWriteReq_t req;

req.handle = simpleBLECharHdl+2;
req.len = 2;
req.value[0] = simpleBLECharVal;
req.sig = 0;
req.cmd = 0;
statu

你可能感兴趣的:(蓝牙4.0/BLE,蓝牙,BLE,cc2541)