8. lighting 握手充电功能

8.1. 概述

  • 支持可以使用lighting线给设备充电。当lighting插入后,先和lighting线握手使其输出强电,再开启内置充电功能,实现对设备的充电。Lighting充电支持普通苹果线充电和苹果快充线充电,且支持正反插供电,具体供电多少mA和不同板级有关。

8.2. 工程配置

  • 在板级配置文件board_xxx_demo_cfg.h中打开充电配置使能、是否支持lighting握手协议,另外可自定义协议通信的IO口配置,使能配置如下:

//是否支持芯片内置充电
#define TCFG_CHARGE_ENABLE ENABLE_THIS_MOUDLE
//是否支持开机充电
#define TCFG_CHARGE_POWERON_ENABLE DISABLE
//是否支持拔出充电自动开机功能
#define TCFG_CHARGE_OFF_POWERON_NE DISABLE
//是否支持 lighting 握手协议
#define TCFG_HANDSHAKE_ENABLE ENABLE
#define TCFG_HANDSHAKE_IO_DATA1 IO_PORTB_02//握手 IO 靠近 lighting 座子中间的
#define TCFG_HANDSHAKE_IO_DATA2 IO_PORTB_07//握手 IO 在 lighting 座子边上的
  • 主要代码说明:

  • lighting充电初始化(handshake_app_start)、以及判断是否充电(get_charge_online_flag())设置不同的供电方式均在board_xxx_demo_cfg.c的board_init里面,对应的代码如下:

void board_init()
{
#if TCFG_CHARGE_ENABLE && TCFG_HANDSHAKE_ENABLE
if(get_charge_online_flag()){
handshake_app_start(0, NULL);
}
#endif

if(get_charge_online_flag()) {
power_set_mode(PWR_LDO15);
} else {
power_set_mode(TCFG_LOWPOWER_POWER_SEL);
}
}