先上视频:
前面介绍了基于CC2541的蓝牙模块平衡小车,之前BlueNRG由于损坏所以才采用CC2541,这次又得到了一块BlueNRG,现在集齐三块ST的模组可以召唤神龙了,之前预留了BlueNRG的6个接口,所以只需要直接将扩展板插在传感器板上就可以了,然后再增加一点高度。
CC2541
模块厂家已经写好相关代码使其变成一个透传模块,而BlueNRG
是需要自己写好代码的,不过好在ST
已经有了例程,而且也是使用STM32F4
来驱动,这就大大的方便了开发,BlueNRG
相关工具和软件下载地址:http://www.st.com/web/en/catalog/tools/PF261442点击最下面download
。进入X-CUBE-BLE1\Projects\Multi\Applications\SampleApp
,这是一个简单的使用蓝牙对话的例程,可以直接烧到STM32F411
板子中查看效果,打开手机蓝牙搜索,可以搜索到BlueNRG_Chat
的蓝牙,连接就后可以发送和接收数据了,查看工程中的代码也是十分简单的,有详细的注释,初始化之后,就是两个函数HCI_Process()
与User_Process()
,第一个函数用来处理各种事件,第二个是用户函数里面是一个监听按键并发送的函数。数据的收取主要是在ample_service.c
中case EVT_BLUE_GATT_ATTRIBUTE_MODIFIED:
和case EVT_BLUE_GATT_NOTIFICATION:
两个事件中,第一个用来接收数据,第二个用来接收通知信息。 另一个重要的改进是添加了虚拟摇杆,可以在虚拟摇杆与SEEKBAR之间切换,同时简化了界面,如下图所示:
更新:修复复杂环境下搜索BLE崩溃BUG,采用JUMA SDKAndroid源代码:
https://github.com/flyloong/NUCLEO_Balance_Car_Android
STM32F411源代码:
https://github.com/flyloong/NUCLEO_Balance_Car_STM32
本帖最后由 lb8820265 于 2016-6-27 19:42 编辑