自己回复自己,已解决
adhliang
@adhliang
adhliang 发布的帖子
-
音频wav文件提示成功,但是flash写失败,导致无法播放发布在 FR801xH
问题:使用dev1.0历程,修改测试speaker功能的时候发现flash无法写入;
步骤:1、使用官方Fr8010loadsbc_v1.2.apk工具给设备导入music_8k_new.wav官方文件,软件提示写成功且串口打印提示正确,但是在播放的时候失败,log提示读取到的数据为0xFFFFFFFFF,没有数据导致播放流程失败;
2、随后自己测试发现在传输数据的时候flash没有写成功;

自己的代码:除了根据官方提示,修改了:#define USER_FLASH_BASE_ADDR (0x19000),#define SPEAKER_DATA_CTRL 1
-
RE: 问题:为什么我修改simple_profile_att_table,服务信息未发生改变?发布在 FR801xH
@zr 软件有显示,但是还是有问题;

我这边实际配置了indication的是SP_IDX_CHAR1_VALUE,但是点击软件上的开关按钮,实际生效的UUID是0x2902(对应的是SP_IDX_CHAR1_CFG),中断入口为case :GATTC_MSG_WRITE_REQ下else if (p_msg->att_idx == SP_IDX_CHAR1_CFG)

但是运行ind_data函数发送indicate消息,软件又无反应(没有显示接收到的消息)

总结起来就是2个问题:
1、打开A-UUID的indicate,实际生效的是B-UUID(这里对应值0x2902);
2、软件接收不到gatt_indication(ind)发送给手机的值; -
RE: 问题:为什么我修改simple_profile_att_table,服务信息未发生改变?发布在 FR801xH
@zr 是的,我原本也是这么理解的,notify跟indicate都一样应该在软件上有有个开关,但是我没有找到,所以不知道要怎么去打开这个indicate的功能;

-
RE: 问题:为什么我修改simple_profile_att_table,服务信息未发生改变?发布在 FR801xH
@zr 是的就是通信功能,通信功能包含read,write,notify,还有indicate,对应sdk接口void gatt_indication(gatt_ind_t ind_att);
目前我使用的方法是在ble_simple_peripheral例程中,服务回调函数中static uint16_t sp_gatt_msg_handler(gatt_msg_t *p_msg)中增加
入口case GATTC_MSG_IND_REQ;使用BLE调试工具连接,但是找不到发送或者旋钮开关之类的,我想知道的是对于这个发送数据的接口gatt_indication正确的测试方法? -
问题:为什么我修改simple_profile_att_table,服务信息未发生改变?发布在 FR801xH
使用外设例程的时候,根据文档,发现void sp_gatt_add_service(void)用于添加服务,并使用手机软件成功连接到蓝牙,测试功能ok,如下图

想要修改服务内容,通过修改void sp_gatt_add_service(void),不管我是修改函数内部引用的服务表simple_profile_att_table各个服务的属性,还是把simple_profile_svc.att_nb的值由SP_IDX_NB减少到5,重新连接蓝牙后,显示的服务属性和服务的个数都未发生变化,比较疑惑,是我修改的方式不对吗?
下面是我使用的蓝牙软件


谢谢,最新版吗,下载看看