TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640R2 运行官方提供的ble5_simple_peripheral,一段时间后从机无广播

项目信息:

CCS910

SDK: simplelink_cc2640r2_sdk_3_40_00_10

从机运行的fimware:ble5_simple_peripheral

硬件板子: TI LaunchPad, 芯片是CC2640R2F

现象描述1:

四块开发板同时运行ble_5simple_perpheral程序,运行一段时间后从机无广播,并且主机scan不到从机。从设备供电电源连上示波器观察,没有正常的脉冲信号产生(正常广播会以一定的频率产生脉冲信号)。

目前在TI提供的ble_5simple_perpheral 只做了以下修改并且关闭了POWER_SAVE。

const PIN_Config BoardGpioInitTable[] = {

//CC2640R2_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,/* LED initially off */
//CC2640R2_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,/* LED initially off */
//CC2640R2_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,/* Button is active low */
//CC2640R2_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,/* Button is active low */
//CC2640R2_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,  /* External flash chip select */CC2640R2_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,/* UART RX via debugger back channel */CC2640R2_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,/* UART TX via debugger back channel */
//CC2640R2_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN,/* SPI master out - slave in */
//CC2640R2_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN,/* SPI master in - slave out */
//CC2640R2_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN,/* SPI clock */PIN_TERMINATE
};

现象描述2:

在TI提供的example (ble_5simple_perpheral)添加了一个周期时钟,每隔100毫秒去检测一次状态。

当从机运行一段时间后停止了广播,并且在周期时钟里面调用函数 uint8_t numActive = linkDB_NumActive(); 返回值是1.

uint8_t test_flag = 0;
static void SimplePeripheral_performMonitorTask(void)
{uint8_t numActive = linkDB_NumActive();if(numActive == 1){ZHOU_SetIOValue(USER_OUTPUT_10,1);}else{ZHOU_SetIOValue(USER_OUTPUT_10,0);}if(test_flag == 0){ZHOU_SetIOValue(USER_OUTPUT_9,1);test_flag = 1;}else{ZHOU_SetIOValue(USER_OUTPUT_9,0);test_flag = 0;}

}

user6313700:

项目信息(SDK):

硬件板子: TI LaunchPad, 芯片是CC2640R2F

现象描述1:

四块开发板同时运行ble_5simple_perpheral程序,运行一段时间后从机无广播,并且主机scan不到从机。从设备供电电源连上示波器观察,没有正常的脉冲信号产生(正常广播会以一定的频率产生脉冲信号)。

目前在TI提供的ble_5simple_perpheral 只做了以下修改。

现象描述2:

在TI提供的example (ble_5simple_perpheral)添加了一个周期时钟,每隔100毫秒去检测一次状态。

当从机运行一段时间后停止了广播,并且在周期时钟里面调用函数 uint8_t numActive = linkDB_NumActive(); 返回值是1.

 

Kevin Qiu1:

请重新上传图片,运行一段时间后从机无广播,大概多长时间后搜索不到从机?

Kevin Qiu1:

已在另一帖回复你

user6313700:

回复 Kevin Qiu1:

这个时间不确定,有时候一个多小时,有时候十几个小时。这个bug是我在项目开发完做长时间测试的时候发现的。想要从机恢复广播的话需要reset开发板。

Kevin Qiu1:

回复 user6313700:

POWER_SAVE是在哪里关闭的,四个板子都是launchpad吗?供电部分检查过吗,在不修改ble5_simple_perpheral程序的时候有测试过吗?

建议你升级到simplelink_cc2640r2_sdk_4_10_00_10版本

user6313700:

回复 Kevin Qiu1:

POWER_SAVE 是在下面修改的,4块开发板分别供电。我只是屏蔽了一些不需要的GPIO口,应该没有影响的。

user6313700:

回复 Kevin Qiu1:

并且我在每块从机板子上挂了示波器的,根据你们的功耗测试,存在广播包的时候示波器会有一定频率的脉冲显示的。但是运行一段时间后,脉冲消失,主机也扫描不到从机而且直接使用MAC地址连接也会失败,返回code 0x3e。

Kevin Qiu1:

回复 user6313700:

返回 0x3e说明是连接失败了,四个从机都会出现这种情况吗,看起来好像没什么问题,这样你将升级simplelink_cc2640r2_sdk_4_10_00_10版本测一下。

user6313700:

回复 Kevin Qiu1:

这个版本怎么升级呢?我的应用怎么移植上去呢?有具体的操作流程吗?

Kevin Qiu1:

回复 user6313700:

下载地址:https://www.ti.com.cn/tool/cn/SIMPLELINK-CC2640R2-SDK

SDK中有ble5_simple_perpheral的例程,把你修改的部分在里面改一下就行了

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2 运行官方提供的ble5_simple_peripheral,一段时间后从机无广播
分享到: 更多 (0)