双通道spp使用
1、测试前提:杰理手表701n 手表sdk 默认配置
2、 spp uuid 修改路径:config/bt_profile_config.c
修改地方:sdp_user_spp_service_data
3、修改办法:例子的 uuid (FE010000-1234-5678-ABCD-00805F9B34FB)
const u8 sdp_user_spp_service_data [96] = {
0x36, 0x00, 0x5B, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x11, 0x09, 0x00, 0x01, 0x36, 0x00, 0x11, 0x1C, 0xfe, 0x01, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0xab, 0xcd, 0x00, 0x80, 0x5F, 0x9b, 0x34, 0xfb, 0x09, 0x00, 0x04, 0x36, 0x00, 0x0E, 0x36, 0x00, 0x03, 0x19, 0x01, 0x00, 0x36, 0x00, 0x05, 0x19, 0x00, 0x03, 0x08, 0x0a, 0x09, 0x00, 0x09, 0x36, 0x00, 0x17, 0x36, 0x00, 0x14, 0x1C, 0xfe, 0x01, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78, 0xab, 0xcd, 0x00, 0x80, 0x5F, 0x9b, 0x34, 0xfb,
0x09, 0x01, 0x00, 0x09, 0x01, 0x00, 0x25, 0x06, 0x4A, 0x4C, 0x5F, 0x53, 0x50, 0x50, 0x00, 0x00,};
红色字体和uuid是匹配的,用户修改uuid,就是修改红色字体
4、用户 spp 接收和发送:
接收:用户实现这个函数就可以,会被重载调用
extern int multi_spp_send_data(u8 local_cid, u8 rfcomm_cid, u8 *buf, u16 len);
int mutil_handle_data_deal(u8 local_id, u8 packet_type, u16 channel, u8 *packet, u16 size){
printf("local_id %d\n", local_id);
switch (packet_type) {
case 1:
printf("mutil connect###########weak handler\n");
break;
case 2:
printf("nutil disconnect#########weak_handler\n");
break;
case 7:
put_buf(packet, size);
multi_spp_send_data(local_id, 0, packet, size);
break;}
return 0;}
Spp 发送:extern int multi_spp_send_data(u8 local_cid, u8 rfcomm_cid, u8 *buf, u16 len);
注意:local_cid 可以在连接成功时候记录
5、测试办法:
蓝牙串口助手连接用户的uuid 测试