杰理蓝牙方案之中英文提示音切换

本文分享了如何使用杰理方案的非可视化SDK实现基础UI的中英文提示音按键切换功能,包括配置中英文提示音、通过TWS对耳传输标志位、存储和读取标志位以及同步操作的过程。
摘要由CSDN通过智能技术生成
前言

在这里做一个比较考验初学者对杰理方案非可视化SDK掌握度的基础UI按键切换中英文提示音功能做一个分享,希望对大家有所帮助。

明确UI功能

中英文切换功能首先想到需要添加好提示音,在按键上实现中英文切换的功能。
如何在按键上做中英文切换? 【根据中英文标志位切换中英文】
1. 配置中英文提示音
2. 中英文标志位存入VM
3. TWS对耳传输中英文标志位
4. 根据标志位切换中英文提示音
5. 按键切换标志位
实现后的流程即开机提示音前读取VM区域中的中英文标志位,每次按键切换标志位再次将标志位存入VM区域中。在TWS做对耳消息同步。

实现UI功能

TWS对耳消息同步__[bt_tws.c]

// 定义用于ENCN同步的TWS功能ID  
#define TWS_FUNC_ID_ENCN_SYNC    TWS_FUNC_ID('E', 'N', 'C', 'N')  
  
// ENCN同步处理函数  
static void bt_tws_encn_sync(void *_data, u16 len, bool rx)  
{  
    // 如果是接收数据  
    if (rx) {  
        u8 *data = (u8 *)_data;  
        en_cn_flag = data[0];   // 存储ENCN标志  
    }  
}  
  
// 注册TWS功能存根  
REGISTER_TWS_FUNC_STUB(app_encn_sync_stub) = {  
    .func_id = TWS_FUNC_ID_ENCN_SYNC, // 设置功能ID  
    .func    = bt_tws_encn_sync,     // 设置处理函数  
};  
  
// 发送ENCN同步数据到从设备  
void bt_tws_sync_encn()  
{  
    tws_api_send_data_to_slave(&en_cn_flag, 1, TWS_FUNC_ID_ENCN_SYNC); // 发送数据和功能ID  
}

在对耳同步音量后用bt_tws_sync_encn()同步即可
在syscfg_id.h中配置VM区域
在这里插入图片描述
开机提示音前读取该区域存入的内容

syscfg_read(CFG_VM_EN_CH, &en_cn_flag, 1);

每次按键切换做一个存储即可

syscfg_write(CFG_VM_EN_CH, &en_cn_flag, 1);

最后根据标志位切换中英文提示音即实现该功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值