蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(1)

引:

由于项目需要,需要使用到经典蓝牙,而市面上的蓝牙芯片大多是基于BLE的蓝牙芯片,而经典蓝牙芯片很少,经过近一个月的测试,原厂终于将经典蓝牙的SPP协议栈部分移植成功,对于应用层面,我也可以开始使用了。

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(2)

一、SPP

在询问很多厂家是否支持SPP的时候,大多数都不知道是什么,我把SPP的定义说一下。

定义:SPP是Serial Port Profile(串口协议)的缩写,其定义了使用蓝牙进行RS232(或类似)串行电缆仿真的设备应使用的协议和过程。

简单来说就是在蓝牙设备之间建立虚拟的串口进行数据通信。说白了就是可以两个设备对端发送自定义数据,NOTED:苹果不支持SPP协议。

协议在整个蓝牙协议中的架构如下:

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(3)

而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开发板

我们看一下开发板的布局图

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(4)

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(5)

我们再看看原理图

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(6)

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(7)

三、软件部分

同其它的开发板一样,需要先下载几个关键资料,datasheet资料,开发板说明资料,keil支持的补丁包资料,还有就是BSP库文件。

我们可以到雅特力的官网去下载这些资料:

www.arterytek.com/cn/product/AT32WB415.jsp

资料都是很全面的,可以根据自己的需要进行下载。这里就不再赘述。

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(8)

下载ICP文件

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(9)

四、烧录及运行

协议栈下载

将ICP文件解压缩之后,打开ICP3.0.06

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(10)

将开发板连接电脑,会自动识别,识别之后,点击'连接'按钮。

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(11)

我们可以看见芯片的信息:

型号: AT32WB415CCU7-7

主存储器大小: 256KB

添加文件wb415_ble_spp_merge.bin文件。

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(12)

添加之后,有一步容易忽略的,就是起始地址一定要更改为0才可以的。

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(13)

提示框中也写到了,起始地址为0;只有填对信息,才会有以下的提示框:

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(14)

点击下载,由于是下载协议栈,所以需要将擦除所有的磁盘空间:

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(15)

出现校验成功之后,证明协议栈下载完成。

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(16)

应用程序下载

打开工程文件,然后选择CMSIS-DAP 选项

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(17)

进入之后,查看是否不是AT-LINK

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(18)

点击下载按钮

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(19)

提示下载完成

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(20)

至此,应用程序下载完成。

demo测试

烧录完成之后,我们将P07接地

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(21)

打开电脑的蓝牙

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(22)

我们配对之后,选择蓝牙选项查看

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(23)

蓝牙设置里面的COM端口

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(24)

这个时候看见熟悉的'传入''传出'了

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(25)

我们将串口调试助手打开,选择COM7

我们将USB转串口工具连接到板子上,记得使用的是PA2和PA3引脚。

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(26)

我们打开两个串口软件,一个是COM7,另外一个在老刘的电脑上识别的是COM10,我们测试一下收发数据。

蓝德控制器蓝牙模块怎么调试(玩转开发板雅特力WB415经典蓝牙应用)(27)

至此,SPP模式已经跑通。

结:

这款单片机有其自身的优势资源。M4内核。很好很强大。

,