TWS区分左右耳常见的两种方法:gpio高低电平,蓝牙地址的奇偶和flash中写标志位。
不同的方现方式(软件和硬件)和生产控制方式各有优缺点!
办法一:gpio的高低电平
#define TWS_SIDE_ROLE_PIN (HAL_IOMUX_PIN_P2_5) const struct HAL_IOMUX_PIN_FUNCTION_MAP app_tws_side_role_cfg = { TWS_SIDE_ROLE_PIN, HAL_IOMUX_FUNC_AS_GPIO, HAL_IOMUX_PIN_VOLTAGE_MEM, HAL_IOMUX_PIN_PULLUP_ENABLE, }; /**0:left;1:right*/ uint32_t app_tws_get_earside(void) { return hal_gpio_pin_get_val(app_tws_side_role_cfg.pin); }
办法二:蓝牙地址的奇偶性
第一次开机获取蓝牙地址,判断最后一个奇偶,写到flash中保存。
蓝牙地址获取方式可参考:BES蓝牙地址和蓝牙名称api
方法三:工厂直接通过工具生产flash中间,保留标志位。