引:
由于项目须要,须要利用到经典蓝牙,而市情上的蓝牙芯片大多是基于BLE的蓝牙芯片,而经典蓝牙芯片很少,经由近一个月的测试,原厂终于将经典蓝牙的SPP协议栈部分移植成功,对付运用层面,我也可以开始利用了。
一、SPP
在讯问很多厂家是否支持SPP的时候,大多数都不知道是什么,我把SPP的定义说一下。
定义:SPP是Serial Port Profile(串口协议)的缩写,其定义了利用蓝牙进行RS232(或类似)串行电缆仿真的设备应利用的协议和过程。
大略来说便是在蓝牙设备之间建立虚拟的串口进行数据通信。说白了便是可以两个设备对端发送自定义数据,NOTED:苹果不支持SPP协议。
协议在全体蓝牙协议中的架构如下:
而SDP部分须要如下注册:
static const uint8_t spp_service_record[] ={ / 1.ServiceClassIDList / SDP_DES_SIZE8, 0x8, SDP_UINT16, BT_ATTRIBUTE_SERVICE_CLASS_ID_LIST>>8&0xff, BT_ATTRIBUTE_SERVICE_CLASS_ID_LIST&0xff, / Service class ID list attribute / SDP_DES_SIZE8, 3, SDP_UUID16, BT_SERVICE_CLASS_SERIAL_PORT>>8&0xff, BT_SERVICE_CLASS_SERIAL_PORT&0xff, / 2.ProtocolDescriptorList / SDP_DES_SIZE8, 0x11, SDP_UINT16, BT_ATTRIBUTE_PROTOCOL_DESCRIPTOR_LIST>>8&0xff, BT_ATTRIBUTE_PROTOCOL_DESCRIPTOR_LIST&0xff,/ Protocol descriptor list attribute / SDP_DES_SIZE8, 0xc, SDP_DES_SIZE8, 0x3, SDP_UUID16, BT_PROTOCOL_L2CAP>>8&0xff, BT_PROTOCOL_L2CAP&0xff, /L2CAP/ SDP_DES_SIZE8, 0x5, SDP_UUID16, BT_PROTOCOL_RFCOMM>>8&0xff, BT_PROTOCOL_RFCOMM&0xff, /RFCOMM/ SDP_UINT8, RFCOMM_SPP_SERVER_CHNL, /RFCOMM channel/ / BluetoothProfileDescriptorList / SDP_DES_SIZE8, 0xd, SDP_UINT16, BT_ATTRIBUTE_BLUETOOTH_PROFILE_DESCRIPTOR_LIST>>8&0xff, BT_ATTRIBUTE_BLUETOOTH_PROFILE_DESCRIPTOR_LIST&0xff, / profile descriptor List / SDP_DES_SIZE8, 0x8, SDP_DES_SIZE8,0x06, SDP_UUID16,BT_SERVICE_CLASS_SERIAL_PORT>>8&0xff, BT_SERVICE_CLASS_SERIAL_PORT&0xff, SDP_UINT16,0x01,0x02, / V1.2 /};
关于协议栈部分,须要根据自己的须要进行设计,须要把稳的是:SPP只有安卓手机支持,并且部分安卓手机必须有SPP APP才可以连接,iphone手机不能直接SPP,但是有一个替代协议IAP,此协议须要买MFI chip才能用。
二、AT-START-WB415开拓板
我们看一下开拓板的布局图
我们再看看事理图
三、软件部分
同其它的开拓板一样,须要先下载几个关键资料,datasheet资料,开拓板解释资料,keil支持的补丁包资料,还有便是BSP库文件。
我们可以到雅特力的官网去下载这些资料:
www.arterytek.com/cn/product/AT32WB415.jsp
资料都是很全面的,可以根据自己的须要进行下载。这里就不再赘述。
下载ICP文件
四、烧录及运行
协议栈下载
将ICP文件解压缩之后,打开ICP3.0.06
将开拓板连接电脑,会自动识别,识别之后,点击'连接'按钮。
我们可以瞥见芯片的信息:
型号: AT32WB415CCU7-7
主存储器大小: 256KB
添加文件wb415_ble_spp_merge.bin文件。
添加之后,有一步随意马虎忽略的,便是起始地址一定要变动为0才可以的。
提示框中也写到了,起始地址为0;只有填对信息,才会有以下的提示框:
点击下载,由于是下载协议栈,以是须要将擦除所有的磁盘空间:
涌现校验成功之后,证明协议栈下载完成。
运用程序下载
打开工程文件,然后选择CMSIS-DAP 选项
进入之后,查看是否不是AT-LINK
点击下载按钮
提示下载完成
至此,运用程序下载完成。
demo测试
烧录完成之后,我们将P07接地
打开电脑的蓝牙
我们配对之后,选择蓝牙选项查看
蓝牙设置里面的COM端口
这个时候瞥见熟习的'传入''传出'了
我们将串口调试助手打开,选择COM7
我们将USB转串口工具连接到板子上,记得利用的是PA2和PA3引脚。
我们打开两个串口软件,一个是COM7,其余一个在老刘的电脑上识别的是COM10,我们测试一下收发数据。
至此,SPP模式已经跑通。
结:
这款单片机有其自身的上风资源。M4内核。很好很强大。