CC2640R2学习笔记1---普通透传(最大20Byte数据传输)及大数据量透传

本文介绍了如何使用CC2640R2芯片实现串口与手机app之间的蓝牙数据透传。通过修改Characteristic3和Characteristic4的属性,实现了最大20字节的数据传输,并详细阐述了蓝牙数据传输的原理。此外,通过设置MAX_PDU_SIZE为255,成功实现了大数据量(200多个字节)的透传。测试结果显示功能正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次要实现的功能是基于CC2640R2完成串口与手机app的数据透传,即串口发出去的数据在手机app上能收到,手机app发出的数据在串口上打印出来。

一、在实现透传功能之前,需要了解蓝牙数据传输的原理
1.蓝牙数据的传输都是基于Characteristic来操作,在simple_gatt_profile.c文件中定义了5个Characteristic,其中Characteristic3具有写权限,Characteristic4具有notify权限,所以我们在做数据透传时,用Characteristic3来接收来自手机的数据,用Characteristic4来往手机app发数据。
2.这里我们将Characteristic3 和Characteristic4 修改为数组形式,长度定义为20,即数据收发最大长度为20字节。
3.手机往Characteristic3写数据时,蓝牙协议栈先检查该Characteristic3是否具有写权限,如果有写权限,则调用simpleProfile_WriteAttrCB,然后往app发消息,在app的任务中去处理该消息,将收到的数据做处理。
4.2640向手机发数据时,调用SimpleProfile_SetParameter,检查是否具有notify权限,然后调用simpleProfile_ReadAttrCB将数据发出去。

二、测试结果:
在这里插入图片描述由上图可以看到,数据透传功能正常。而且还打印出了GAP_Role的各种状态。

三、大数据量透传
1.在app工程设置中添加一个MAX_PDU_SIZE的定义即可,这里设置成为255,表示最大传输数据量为255字节。如下:
在这里插入图片描述
2.在simple_gatt_profile.c中修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值