JL杰理蓝牙发射方案开发

目前市场上中低端的蓝牙发射器产品,包括发射&接收二合一产品,大部分使用的都是JL杰理蓝牙芯片方案。作为蓝牙发射方案来说,主要要考虑的是兼容性的问题,即市面上其他品牌的蓝牙接收产品,是否能与发射端配对并保持稳定连接,杰理芯片这块表现还不错。实施具体项目时,可以使用杰理的690X(692N,蓝牙V4.2) 或是692X(692N,蓝牙5.0)芯片来做,从兼容性角度来说,推荐还是使用690X来做,特别是作发射&接收二合一产品时,从实际项目来看692X的还是不太稳定。

开发杰理蓝牙发射器,需使用专门的发射器SDK,可以开发纯蓝牙发射,或是发射&接收二合一(同一个时间只能是一个角色),使用690X系列,使用较多的有AC6905A, AC6905C等型号。开发发射器的案子,主要注意如下几点:

1、配置角色:

A、 BD_ROLE_HOST
蓝牙发射器 Emitter
B、 BD_ROLE_SLAVE
蓝牙接收器 Receiver

主要是在系统上电时,通过配置这个宏,通过emitter_init(u8 role) 函数来设置和获取蓝牙发射器的角色


2、连接方式
(1) 有条件搜索配对模式
该模式下发射器搜索周围设备, 筛选出符合条件(目前是通过设备名和地址进行筛选的) 的设备进行
连接, 连接成功保留对方地址作为以后的连接地址。
(2) 无条件搜索配对模式
该模式下发射器搜索周围设备, 搜到那个就连接那个, 连接成功保留对方地址作为以后的连接地址。

具体代码中,是用emitter_user.c中的SEARCH_BD_NAME_LIMIITED宏来选择,另外一个,实际项目中,了避免搜索连接的时候经常连接到同一个,可以配置成记住连接过的前几个设备, 如5个,可通过以下宏来操作:
#define SEARCH_BD_ADDR_FILT 5 ///<maximum:10
3、接口说明
发射器支持发射 AD 数据、 解码数据和 USB_audio 数据, 所以进行输入源切换的时候, 需要关闭当前
正在发射的资源:
//aux 发射接口
void set_emitter_aux_media(u8 aux_en)
//music 解码和 usb_audio 发射接口
void set_emitter_decode_media(u8 dec_en)
其中 music 解码和 usb_audio 发射需要创建 task 来实现, 所以进行切换的时候, 需要删除当前的 task:

os_task_delete(MUSIC_TASK_NAME)
或者
os_task_delete(_TASK_NAME)


另外,如果做发射&接收二合一的项目,想断电后也能保存当前角色状态时,可使用flash的vm区保存状态字段来实现,在开机上电时,读取相关数值再进行相关角色即可。

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值