nrf51822 --- 动态修改连接间隔
来源:互联网 发布:钢结构详图软件 编辑:程序博客网 时间:2024/06/06 05:32
1.目的
在蓝牙连接上的时候动态修改连接间隔,已达到功耗平衡
2.分析
在实际应用的时候,有时候需要发送数据快一点,这个时候我们可以把连接间隔改小一点,这样发送数据快,但是功耗大,当把数据发完的时候,可把连接间隔改小一点,这样可以降低功耗,达到一个均衡.比如穿戴设备连接上的时候,可能需要快速把本地数据发给手机,这个时候就可以把连接间隔设置小点。传送完毕后间隔设置大点。这样功耗就不会太大。
3.平台:
Sofedevice :8.0.0
协议栈版本:SDK10.0.0
编译软件:keil 5.14
硬件平台:nrf51822最小系统
例子:SDK 10.0.0\examples\ble_peripheral\ble_app_uart\pca10028\s110\arm4
4.步骤
当手机端发送0x55命令的时候,调用修改连接间隔函数,修改连接间隔
static void nus_data_handler(ble_nus_t * p_nus, uint8_t * p_data, uint16_t length){/****************添加代码,调用修改连接间隔******************/if(p_data[0] == 0x55){Syn_gap_params_init();} /*****************************/
for (uint32_t i = 0; i < length; i++) { while(app_uart_put(p_data[i]) != NRF_SUCCESS); } while(app_uart_put('\n') != NRF_SUCCESS);}
#define SYN_MIN_CONN_INTERVAL MSEC_TO_UNITS(100, UNIT_1_25_MS) /**< Minimum acceptable connection interval (20 ms), Connection interval uses 1.25 ms units. */#define SYN_MAX_CONN_INTERVAL MSEC_TO_UNITS(500, UNIT_1_25_MS) /**< Maximum acceptable connection interval (75 ms), Connection interval uses 1.25 ms units. */#define SYN_SLAVE_LATENCY 0 /**< Slave latency. */#define SYN_CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory timeout (4 seconds), Supervision Timeout uses 10 ms units. */static void Syn_gap_params_init(){ ble_gap_conn_params_t gap_conn_params; uint32_t err_code; memset(&gap_conn_params, 0, sizeof(gap_conn_params)); gap_conn_params.min_conn_interval = SYN_MIN_CONN_INTERVAL; gap_conn_params.max_conn_interval = SYN_MAX_CONN_INTERVAL; gap_conn_params.slave_latency = SYN_SLAVE_LATENCY; gap_conn_params.conn_sup_timeout = SYN_CONN_SUP_TIMEOUT; err_code = sd_ble_gap_ppcp_set(&gap_conn_params); APP_ERROR_CHECK(err_code); printf("err_code=%d\r\n",err_code);}
当用lightblue发送0x55的时候,串口接收数据
可以看到 返回 的错误码为0,表示设置成功。
0 0
- nrf51822 --- 动态修改连接间隔
- nrf51822 --- 动态修改连接间隔
- nrf51822 --- 广播间隔
- setTimeout()递归,实现动态修改时间间隔
- BLE-NRF51822教程10-手机动态修改设备名
- BLE-NRF51822教程11-手机动态修改设备名
- BLE-NRF51822教程10-手机动态修改设备名
- BLE-NRF51822教程11-手机动态修改设备名
- nrf51822 --- 修改蓝牙名字
- nrf51822 断开蓝牙连接
- 修改蓝牙广播间隔
- BLE 连接间隔
- NRF51822
- nRF51822
- nrf51822 --- 从机主动断开蓝牙连接
- nrf51822连接事件抓包分析
- nrf51822连接微信---crc32计算
- nrf51822蓝牙笔记之连接参数更新
- hi3516a的uboot自动升级相关问题的解决
- leetcode—— 171——Excel Sheet Column Number
- centos启动时间查看
- 自定义View之onMeasure()
- SSH图片上传
- nrf51822 --- 动态修改连接间隔
- CSS---cursor鼠标属性
- 第五周上机实践项目3(1):时间类
- C/C++ sizeof操作符
- Android 多任务管理和后台栈 --- 不止是activity的启动模式
- 第五周项目四-长方柱形(1)
- PHP monolog
- Android之使用Wifi
- JS关于数组的操作