微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 第一个蓝牙设备

第一个蓝牙设备

时间:10-02 整理:3721RD 点击:

一个月之前便收到CC2640,因为期间做了一个手术,耽误了一点时间。今天把开发板又拿出来体验了一下。
首先看一下套件中都有什么:1.CC2640开发板;2.XDS-110仿真器;3.USB转串口通信板。都是这样滴。
CC2640开发板


XDS-110仿真器


USB转串口通信板


认识了这些装备,接下来就是安装开发环境了。
按照“TTC SDK开发环境安装说明_V1.5.pdf”的指导,一步一步安装IAR和XDS的相关驱动,因为是一个月前安装的,当初用如何破解、如何安装TI的Flash Programmer 2都已经忘了,这里就不一一赘述了,毕竟这些都能查到相关的资料。
安装好之后就是按照昇润科技的介绍连接CC2640和仿真器运行套件的示例程序CC2640Stack,需要说明的是按照“TTC SDK开发环境安装说明_V1.5”中所列的那个样例程序SimpleBLEPeripheral在“TTC_CC2640_R2_SDK”中的实际路径是:
D:\TTC_BLE_CC2640_R2_SDK\3.1.2\TTC_CC2640_R2_SDK\examples\rtos\CC2640R2_LAUNCHXL\blestack\SDK\tirtos\iar。
找到这个WorkSpace之后就是重新编译,然后通过XDS-110烧录到开发板上。
在我电脑上的蓝牙设备管理里面找到了"TTC_CC2640_SDK"


这样就拥有了一个蓝牙设备了。
这个算是昇润的logo了,怎么换成自己的名字呢?
在D:\TTC_BLE_CC2640_R2_SDK\3.1.2\TTC_CC2640_R2_SDK\examples\rtos\CC2640R2_LAUNCHXL\blestack\SDK\src\TTCBleSDK中找到TTCBLESDKCommDef.h文件,里面有这样的定义:
#ifndef TTCBLE_IBEACON                        
#define DEV_INF_MFR_NAME                      "TTC_CC2640_SDK"
#else                                         
#define DEV_INF_MFR_NAME                      "TTC_Beacon"
#endif
改成"TTC_CC2640_SDK"改成你想要的名字,比如“ELECFANS_TRUMP”,
还要改一个文件,在D:\TTC_BLE_CC2640_R2_SDK\3.1.2\TTC_CC2640_R2_SDK\examples\rtos\CC2640R2_LAUNCHXL\blestack\SDK\src\app中找到appCommParam.c文件,里面有这样的定义:
const u8 scanRspData[B_MAX_ADV_LEN] = {                                        //蓝牙扫描回应包数据,最大不超过31个字节
      0x0F,                                                                     //数据长度( 示例 :数据长度 = 蓝牙名称标识符(1字节) + 蓝牙名称数据长度)
      GAP_ADTYPE_LOCAL_NAME_COMPLETE,                                           //蓝牙名称标识符
      'T',                                                                      //蓝牙名称数据
      'T',
      'C',
      '_',
      'C',
      'C',
      '2',
      '6',
      '4',
      '0',
      '_',
      'S',
      'D',
      'K',
      0x05,                                                                     //数据长度
      GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,                                     //连接间隔标识符
      LO_UINT16(DEFAULT_DESIRED_MIN_CONN_INTERVAL),                             //最小连接间隔低八位(100ms)
      HI_UINT16(DEFAULT_DESIRED_MIN_CONN_INTERVAL),                             //最小连接间隔高八位
      LO_UINT16(DEFAULT_DESIRED_MAX_CONN_INTERVAL),                             //最大连接间隔低八位(1s)
      HI_UINT16(DEFAULT_DESIRED_MAX_CONN_INTERVAL),                             //最大连接间隔高八位
      0x02,                                                                     //数据长度
      GAP_ADTYPE_POWER_LEVEL,                                                   //发射功率标识符
      0                                                                         //发射功率(0dB)
};
改掉它,改成你想要的名字,与前面改的内容要一致哦:
const u8 scanRspData[B_MAX_ADV_LEN] = {                                        //蓝牙扫描回应包数据,最大不超过31个字节
      0x0F,                                                                     //数据长度( 示例 :数据长度 = 蓝牙名称标识符(1字节) + 蓝牙名称数据长度)
      GAP_ADTYPE_LOCAL_NAME_COMPLETE,                                           //蓝牙名称标识符
      'E',                                                                      //蓝牙名称数据
      'L',
      'E',
      'C',
      'F',
      'A',
      'N',
      'S',
      '_',
      'T',
      'R',
      'U',
      'M',
      'P',
      0x05,                                                                     //数据长度
      GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,                                     //连接间隔标识符
      LO_UINT16(DEFAULT_DESIRED_MIN_CONN_INTERVAL),                             //最小连接间隔低八位(100ms)
      HI_UINT16(DEFAULT_DESIRED_MIN_CONN_INTERVAL),                             //最小连接间隔高八位
      LO_UINT16(DEFAULT_DESIRED_MAX_CONN_INTERVAL),                             //最大连接间隔低八位(1s)
      HI_UINT16(DEFAULT_DESIRED_MAX_CONN_INTERVAL),                             //最大连接间隔高八位
      0x02,                                                                     //数据长度
      GAP_ADTYPE_POWER_LEVEL,                                                   //发射功率标识符
      0                                                                         //发射功率(0dB)
};
另外,在appCommParam.c文件中还有一个定义,也要改掉
const u8 attDeviceName[GAP_DEVICE_NAME_LEN] = "TTC BLE PERIPHERAL";  
改成:
const u8 attDeviceName[GAP_DEVICE_NAME_LEN] = "ELECFANS BLE TRUMP";  
注意,字符串长度要与原来的保持一致哦。
至此,全部改完,然后重新编译,烧录,OK。
终于可以在电脑上搜到我的蓝牙设备了。
配对之前是这样滴。


配对之后是这样滴。

好了,今天的分享到此为止吧,小伙伴们,赶紧动起来,拥有自己的蓝牙设备吧。

配对后


学习了 谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top