蓝牙模块怎么用默认20个字节分包什么情况会导致10个字节

21ic官方微信-->
后使用快捷导航没有帐号?
请完成以下验证码
查看: 1152|回复: 14
可以很方便用于开发的低功耗蓝牙4.0模块分享
&&已结帖(0)
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
主题帖子积分
专家等级:结帖率:71%
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
&&该低功耗透传的4.0蓝牙无线模块非常有优势的,性价比较高,给大家推荐了,大家有用的,可参考下边的资料的。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
主题帖子积分
专家等级:结帖率:71%
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
这个是该模块的基本资料的。。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
主题帖子积分
专家等级:结帖率:71%
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
& && & 该蓝牙模块RF-BM-S01 是一款采用美国德州仪器 TI 蓝牙 4.0 CC2540 作为核心处理器的高性能、超低功耗(Bluetooth Low Energy)射频收发系统模块,它拥有目前行业内较小封装的尺寸(13.7x 17.1 x 2.5 mm)。该模块预装 RF-star ’ s RF-BLE 固件并符合 BLE 协议标准。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
主题帖子积分
专家等级:结帖率:71%
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
& &&&客户 MCU 通过串口与模块相连。模块启动后会自动广播,已打开特定 APP 的移动设备会对其进行扫描和对接,成功之后便可以通过通用串口和移动设备进行双向通信,用户可以通过数据通道和指令通道,进行数据交换或者对通讯参数的控制,数据具体含义由上层应用程序自行定义。移动设备可以通过 APP 对模块进行写操作,写入的数据将通过串口发送给客户的 MCU。模块收到来自客户 MCU 串口的数据包后,将自动转发给移动设备。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
主题帖子积分
专家等级:结帖率:71%
主题帖子积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
资深工程师, 积分 11430, 距离下一级还需 8570 积分
& &&&RF- 1 BM-S01 模块可以从串口一次性最多传输 200 字节数据包,模块会根据数据包大小自动分包发送,每个无线包最大载荷为 20 个字节。移动设备方发往模块的数据包,必须自行分包(1-20 字节/包)发送。模块收到无线包后,会依次转发到主机串口接收端。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
初级工程师, 积分 2822, 距离下一级还需 178 积分
初级工程师, 积分 2822, 距离下一级还需 178 积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
初级工程师, 积分 2822, 距离下一级还需 178 积分
初级工程师, 积分 2822, 距离下一级还需 178 积分
这个是该模块的基本资料的。。
这个蓝牙模块是蓝牙直接嵌在MCU里面吗?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 10791, 距离下一级还需 9209 积分
资深工程师, 积分 10791, 距离下一级还需 9209 积分
主题帖子积分
专家等级:结帖率:43%
主题帖子积分
资深工程师, 积分 10791, 距离下一级还需 9209 积分
资深工程师, 积分 10791, 距离下一级还需 9209 积分
这个资料的关于TI芯片的蓝牙模块的介绍的。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 10791, 距离下一级还需 9209 积分
资深工程师, 积分 10791, 距离下一级还需 9209 积分
主题帖子积分
专家等级:结帖率:43%
主题帖子积分
资深工程师, 积分 10791, 距离下一级还需 9209 积分
资深工程师, 积分 10791, 距离下一级还需 9209 积分
看完这个资料的有种想用的冲动的
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 11882, 距离下一级还需 8118 积分
资深工程师, 积分 11882, 距离下一级还需 8118 积分
主题帖子积分
专家等级:结帖率:66%打赏:0.00受赏:15.00
主题帖子积分
资深工程师, 积分 11882, 距离下一级还需 8118 积分
资深工程师, 积分 11882, 距离下一级还需 8118 积分
这个是直接利用TI的相关芯片设计的模块啊。。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 10372, 距离下一级还需 9628 积分
资深工程师, 积分 10372, 距离下一级还需 9628 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
资深工程师, 积分 10372, 距离下一级还需 9628 积分
资深工程师, 积分 10372, 距离下一级还需 9628 积分
这个是该模块的基本资料的。。
这个资料的我收下,做开发的时候用的着。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 10421, 距离下一级还需 9579 积分
资深工程师, 积分 10421, 距离下一级还需 9579 积分
主题帖子积分
专家等级:结帖率:55%
主题帖子积分
资深工程师, 积分 10421, 距离下一级还需 9579 积分
资深工程师, 积分 10421, 距离下一级还需 9579 积分
模块RF-BM-S01 是一款采用美国德州仪器 TI 蓝牙 4.0 CC2540 作为核心处理器的高性能、超低功耗(Bluetooth Low Energy)射频收发系统模块。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 15608, 距离下一级还需 4392 积分
资深工程师, 积分 15608, 距离下一级还需 4392 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
资深工程师, 积分 15608, 距离下一级还需 4392 积分
资深工程师, 积分 15608, 距离下一级还需 4392 积分
资料不错!
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 3649, 距离下一级还需 1351 积分
中级工程师, 积分 3649, 距离下一级还需 1351 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级工程师, 积分 3649, 距离下一级还需 1351 积分
中级工程师, 积分 3649, 距离下一级还需 1351 积分
这个蓝牙模块的可以用到很多的设计当中的。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
初级技术员, 积分 91, 距离下一级还需 9 积分
初级技术员, 积分 91, 距离下一级还需 9 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 91, 距离下一级还需 9 积分
初级技术员, 积分 91, 距离下一级还需 9 积分
提示: 该帖被管理员或版主屏蔽
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
蓝牙4.0低功耗串口模块,在市场上应用较广且成熟是低成本蓝牙4.0低功耗应用。喆华在领域主要以A8105芯片为主。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
突出贡献奖章
等级类勋章
沉静之湖泊
发帖类勋章
时间类勋章
技术高手奖章
人才类勋章
欢快之小溪
发帖类勋章
时间类勋章
技术新星奖章
人才类勋章
湍急之河流
发帖类勋章
精华达人奖章
等级类勋章
时间类勋章
无冕之王奖章
等级类勋章
核心会员奖章
等级类勋章
奔腾之江水
发帖类勋章
时间类勋章
技术导师奖章
人才类勋章Pages: 1/2
主题 : BLE4.0蓝牙数据发送问题
级别: 新手上路
可可豆: 20 CB
威望: 20 点
在线时间: 25(时)
发自: Web Page
来源于&&分类
BLE4.0蓝牙数据发送问题&&&
代码如下:-(void)writeValue: (NSData *)data forCharacteristic:(CBCharacteristic*)characteristic{ if (characteristic != nil) { self.selectCharacteristic =    } NSLog(@&writeValue[%@]: (%d)%@&, self.selectCharacteristic, (int)[data length], data);    [self.selectPeripheral writeValue:data forCharacteristic:self.selectCharacteristic type:CBCharacteristicWriteWithResponse];}- (void)peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{ NSLog(@&didWriteValueForCharacteristic %@ error: %@&, characteristic.UUID, error/*[error localizedDescription]*/);}无法写入数据,Characteristic已经有Read Write属性,而且用lightblue可以正常写入,不知道是怎么实现的~~~Characteristic 0000FFF1-00-FB  Properities(0xA): Read WritewriteValue[&CBCharacteristic: 0x, UUID = 0000FFF1-00-FB, properties = 0xA, value = &00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &, notifying = NO&]: (132)&d0a d0a d0a d0a d0a d0a d0a d0a d0a d0a d0a&didWriteValueForCharacteristic 0000FFF1-00-FB error: Error Domain=CBErrorDomain Code=0 &Unknown error.& UserInfo=0x {NSLocalizedDescription=Unknown error.}
级别: 新手上路
可可豆: 141 CB
威望: 141 点
在线时间: 187(时)
发自: Web Page
- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{&& [peripheral writeValue:data forCharacteristic:_writeCharacteristic type:CBCharacteristicWriteWithResponse];}我是在这个方法里给BLE发送的数据,你试一下看看能不能行
级别: 新手上路
可可豆: 20 CB
威望: 20 点
在线时间: 25(时)
发自: Web Page
怎么进入到didUpdateNotificationStateForCharacteristic函数里的啊?我要主动发送数据,应该跟这种回调接口,没太大关系吧~~~[ 此帖被boymaster在 14:56重新编辑 ]
级别: 新手上路
可可豆: 261 CB
威望: 161 点
在线时间: 1678(时)
发自: Web Page
改成CBCharacteristicWriteWithoutResponse试试呢
级别: 新手上路
可可豆: 20 CB
威望: 20 点
在线时间: 25(时)
发自: Web Page
我的问题解决了,原因是单次发送的数据过大,蓝牙模块内部接收缓冲区只有20个字节 谢谢大家的回复~~~
级别: 新手上路
可可豆: 94 CB
威望: 67 点
在线时间: 86(时)
发自: Web Page
原生的corebluetooth使用起来很麻烦,有很多委托,执行代码的位置非常跳跃。你可以试试这个蓝牙库BabyBluetooth,它简化了corebluetooth复杂的委托方法和来回跳跃式编程的问题。
级别: 新手上路
UID: 89581
可可豆: 50 CB
威望: 50 点
在线时间: 130(时)
发自: Web Page
回 4楼(boymaster) 的帖子
怎么修改的我也遇到这个问题了啊老纠结了
级别: 新手上路
可可豆: 27 CB
威望: 27 点
在线时间: 148(时)
发自: Web Page
回 4楼(boymaster) 的帖子
哥们&&我也碰到这个问题了&&要这么把数据分包发送呢&&求指导&&谢谢
级别: 新手上路
可可豆: 38 CB
威望: 38 点
在线时间: 198(时)
发自: Web Page
回 4楼(boymaster) 的帖子
请问,如果接收的数据多余20bytes,该如何处理。
级别: 新手上路
可可豆: 3 CB
威望: 3 点
在线时间: 290(时)
发自: Web Page
楼主,请教怎么分包发数据,能给个思路么
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版文档分类:
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表蓝牙控制LED灯时长控制.docx
文档介绍:
程序会检查蓝牙是否打开,如果蓝牙未打开,则打开蓝牙,开始寻找程序默认的蓝牙模块的连接字符串连接蓝牙。;如果蓝牙打开, 则直接开始寻找程序默认的蓝牙模块的连接字符串连接蓝牙。如果没有寻找到相应的蓝牙模块,则给出通知,程序关闭。如果连接成功,则告知用户,等待用户操作。单片机程序执行结构如下: 但单片机供电时,程序启动,执行串口初始化程序,包括初始化中断开关,串口中断开关, 设置串口的工作方式,初始化定时器设置波特率,设置标志寄存器。当这些工作完成后,单片机会进入循环等待程序等待串口数据的到来, 但检测到串口数据的到来之后, 按字节读取数据, 根据编码的特征, 按其特征分辨数据所属关系。并按标志进行解码, 解码后得到的数据交给单片机的定时器。这是设置定时器的工作方式, 标志位, 延迟时间等, 并且断开串口接收程序。断开串口接收程序后,将连接 led 等的并行口的对应的寄存器的值置为低电平, 使 led 灯点亮, 此时启动定时器, 当定时器到达设置好的时间之后, 产生定时器中断, 在定时器的中断处理程序中,关闭定时器,并将 led 灯的所在寄存器的值置为高电平, led 灯熄灭, 之后启动串口接收程序, 使之等待下一次数据的到来, 如此循环, 是单片机不断地接受和处理蓝牙模块提供的数据,机 android 手机发送来的数据。实现了 led 灯的智能控制。 3 实现方案 3.1 编码方案根据数据发送的要求, 数据的长度为 4 字节整形数据, 发送的数据为单子节组成的字节数组, 在保证数据类型格式的说明下添加数据位校验和尾部校验。当位校验和尾部校验不一致时,我们认为数据错误,单片机将抛弃这次数据。其中数据编码格式如下: 帧长 68H 30H 类型数据长度 DATA1 DATA2 ... DATAn CRCH CRCL ---- ------- ---- -------- --------------------- --------- 1B 2B 1B 1B 4B 2B 注: 1B 表示 1 个字节,2B 表示 2 个字节等等,4B 表示 4 个字节等等. 1) 帧长, 类型, 数据长度, 校验和字(CRCH- 高字节 CRCL- 低字节)- 16 进制值( 帧中出现顺序按字节相反); 2)DATAi 或 16 进制值( 帧中出现顺序按字节相反) 为, 或为压缩 BCD 码( 按顺序出现在帧中); 3) 帧长= 本次发送的帧字节数, 不包括帧长自身的长度; 4) 数据长度为有效数据部分的字节数; 5) 校验和字=68H+30H+ 类型+ 数据长度+DATA1+DATA2+...+DATAn 其中 CRCH= 校验和字的高字节, CRCL= 校验和字的低字节 6) 类型: 固定为
字节数: 11 ; 3.2 解码方案单片机在读取串口数据时, 总要每次寻找到数据的开始和结尾, 本编码方案由固定的头标志为,即 68h 和 30h , 当检测到数据为 68h 和 30h 时将数据压入栈中, 当数据栈中的数据长度达到 11 位时,开始解码,即读取第 6 位的字节数,和中间 4 个字节数据,第六位的字节为当前数据字节数组的逻辑与或值, 得到位校验, 最后读取栈中数据的最后两位, 最后两位为这 5 个字节的代数和, 由此组成尾部校验。如此双重校验的编码方案保证了数据的正确率和安全性。4 编码实现程序 4.1 android 编码的实现下面的这段程序将 int 的数据转化为 4 字节的数据 Public byte[] getByte(int l){ // int java.lang.Float.floatToIntBits(float value); // Returns an integer corresponding to the bits of the given IEEE 754 single precision // float value. All Not-a-Number (NaN) values are converted toa single NaN representation // (0x7FC00000) (compare to floatToRawIntBits(float)). // int java.lang.Float.floatToRawIntBits(float value) // Returns an integer corresponding to the bits of the given IEEE 754 single precision // float value. Not-a-Number (NaN) values are preserved (compare to floatToIntBits(float)). byte[] b= new byte[4]; // 单精度浮点数用 4 字节表示 for (int i= 0;i& 4; i++) { b[i] = (byte) // byte[0],byte[1],byte[2],byte[3] l &&= 8;} // 得到的数组下标 0 处存放的是浮点数最低的字节} 下面的程序将这四字节数据编码: public static byte[] getAbsoluteBase(String sf){ int type = 2; List&Byte& relist = new ArrayList&Byte&(); int sum = 0; byte[] temp = getBytes(sf); sum = temp. relist.add((byte) (sum + 6)); // 加入 68H 、 30H relist.add((byte) 0x68); relist.add((byte) 0x30); // 加入类型 relist.add((byte) type); // 加入数据长度 relist.add((byte) sum); // 添加以倒置的形式添加 for (byte btemp : temp) { relist.add(Byte.valueOf(btemp)); } // 计算字节校验和字 Integer sum1 = 0, sum2; for (Byte b: relist) { sum2 =b& 0xFF; sum1 += sum2; } sum1 -= relist.get(0); // ?? // 由于结果是大于八位的数, 移位操作得到第一个八位的字节表示 Integer ii= (sum1 && 8); Byte b2= ii.byteValue(); relist.add(b2); // 直接取 getByte 得到截取后的 sum 的字节表示 relist.add(sum1.byteValue());2
内容来自淘豆网转载请标明出处.鍙?渶涓

我要回帖

更多关于 hc 05蓝牙模块资料 的文章

 

随机推荐