自己回复自己,已解决
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,重新连接蓝牙后,显示的服务属性和服务的个数都未发生变化,比较疑惑,是我修改的方式不对吗?
下面是我使用的蓝牙软件

-
RE: 烧写问题:FR801xH无法烧写,JLINK检测MCU异常,一下能连一下不能连发布在 FR801xH
现在可以连上MCU了,但是出现了新的问题,提示算法错误

实际给的烧入文件已经放到了keil安装目录下,但是提示无法加载,我的芯片型号是FR8016HA,但是官方给的烧入文件FR8010H.flm,这个有问题吗? -
烧写问题:FR801xH无法烧写,JLINK检测MCU异常,一下能连一下不能连发布在 FR801xH


问题如图片所示,使用芯片为FR8016HA,烧入使用的文件是FR8010H.FLM,已经根据文档放入在电脑keil安装目录C:\Keil_v5\ARM\Flash下,但是一旦烧入,就会断开连接
这个问题怎么处理,官方没有详细的硬件使用接线文档,有知道怎么解决的吗?是否是硬件问题

谢谢,最新版吗,下载看看
不太懂蓝牙协议,后面慢慢摸索,第一个例程跑起来了,连接上了蓝牙,上图

