跳转至

exs_yhm2712a - 充电管理扩展库

作者:王世豪 | 最后修改:2026-08-14

一、概述

exs_yhm2712a 是 YHM2712A 充电管理芯片的 LuatOS 扩展库。YHM2712A 是一款高性能的锂电池充电管理芯片,支持多种充电模式和智能保护功能。

1.1 主要特性

  • 支持 4.2V 和 4.35V 两种电池充电截止电压设置

  • 单总线通信接口,支持灵活的引脚配置

  • 智能充电阶段管理:涓流充电→恒流充电→恒压充电→充电完成

  • 内置过温保护和过压保护功能

  • 支持船运模式

  • 自动检测电池在位和充电器在位状态

  • 提供完整的充电状态查询和事件通知

1.2 注意事项

  • 必须在 task 中运行,部分操作有阻塞时间(如 sys.waitUntil 和 sys.wait)

  • 需要手动配置 YHM2712A 的 CMD 引脚

  • CMD 引脚不能持续拉低(硬件复位机制): YHM2712A 内置硬件复位功能(见数据手册 4.12 Hardware Reset),若 CMD(STACMD)引脚持续拉低超过 14.4s, 芯片将关闭 SYS 系统电源 200ms 后自动重新上电,导致主控断电重启。应用逻辑中注意不要将 CMD 引脚长时间保持低电平。

  • 内部 Watch Dog 功能(扩展库不支持): YHM2712A 芯片支持通过 CONFIG 寄存器(0x03)的 WD_EN 位使能内部看门狗,看门狗等待时间固定为 16s, 超时后会关闭 Q1&Q2 电源 200ms 并进入启动模式,同样会造成主控断电重启。本扩展库未实现看门狗功能, 未提供相关接口,默认不会开启该功能。

  • 充电电流会根据电池容量和模式自动计算

  • 支持多种充电电流模式:最小电流、默认电流、最大电流

  • 器件地址固定为 0x04,ID 寄存器(0x08)默认值为 0xA0(高4位 Vendor=0xA,低4位 Version=0x0); 初始化时会读取 ID 寄存器以确认单总线通信正常,但不校验其数值

1.3 加载方式

-- 扩展库需要 require 加载后才能调用
local exs_yhm2712a = require "exs_yhm2712a"

二、核心示例

2.1 基础充电管理示例

-- 加载扩展库
local exs_yhm2712a = require "exs_yhm2712a"

-- YHM2712A 传感器初始化配置表
local YHM2712A_CONFIG = {
    pin = 25,                      -- CMD 引脚,连接到 Air8201H 的 GPIO25
    v_battery = 4200,              -- 电池充电截止电压:4200mV(4.2V)
    cap_battery = 400,             -- 电池容量:400mAh
    i_charge = exs_yhm2712a.CCMIN  -- 充电电流:最小电流(50mA)
}

-- 应用主函数
local function yhm2712a_demo()
    -- 初始化 YHM2712A
    local result = exs_yhm2712a.setup(YHM2712A_CONFIG)

    if not result then
        log.error("exs_yhm2712a", "YHM2712A 初始化失败")
        return
    end
    log.info("exs_yhm2712a", "YHM2712A 初始化成功")

    -- 循环读取充电状态
    while true do
        local status = exs_yhm2712a.status()

        if status.result then
            log.info("exs_yhm2712a", string.format("电池电压: %d mV, 充电阶段: %d, 充电完成: %s, 电池在位: %s, 充电器在位: %s, IC过热: %s", 
                status.vbat_voltage, 
                status.charge_stage, 
                status.charge_complete and "是" or "否", 
                status.battery_present and "是" or "否", 
                status.charger_present and "是" or "否", 
                status.ic_overheat and "是" or "否"))
        else
            log.error("exs_yhm2712a", "读取充电状态失败")
        end

        sys.wait(5000) -- 每5秒读取一次
    end
end

-- 启动任务
sys.taskInit(yhm2712a_demo)

2.2 事件监听示例

-- 加载扩展库
local exs_yhm2712a = require "exs_yhm2712a"

-- YHM2712A 传感器初始化配置表
local YHM2712A_CONFIG = {
    pin = 25,
    v_battery = 4350,
    cap_battery = 500,
    i_charge = exs_yhm2712a.CCDEFAULT
}

-- 事件回调函数
function yhm2712a_event_handler(event)
    if event == exs_yhm2712a.OVERHEAT then
        log.debug("yhm2712a", "IC温度过高,停止充电")
    elseif event == exs_yhm2712a.CHARGER_IN then
        log.debug("yhm2712a", "充电器已插入")
    elseif event == exs_yhm2712a.CHARGER_OUT then
        log.debug("yhm2712a", "充电器已拔出")
    elseif event == exs_yhm2712a.SHIPPING_MODE then
        log.debug("yhm2712a", "已进入船运模式")
    end
end

-- 初始化传感器
exs_yhm2712a.setup(YHM2712A_CONFIG)

-- 设置事件回调函数
exs_yhm2712a.on(yhm2712a_event_handler)

2.3 船运模式控制示例

-- 加载扩展库
local exs_yhm2712a = require "exs_yhm2712a"

-- YHM2712A 传感器初始化配置表
local YHM2712A_CONFIG = {
    pin = 25,
    v_battery = 4200,
    cap_battery = 300
}

function ship_mode_demo()
    -- 初始化传感器
    exs_yhm2712a.setup(YHM2712A_CONFIG)

    -- 进入船运模式
    local result = exs_yhm2712a.ship_mode()
    if result then
        log.info("exs_yhm2712a", "已成功进入船运模式")
    else
        log.error("exs_yhm2712a", "进入船运模式失败")
    end
end

sys.taskInit(ship_mode_demo)

三、常量详解

扩展库常量,顾名思义是由 exs_yhm2712a 扩展库中定义的、不可重新赋值或修改的固定值,在脚本代码中不需要声明,可直接调用;

每个常量对应的常量取值仅做日志打印时查询使用,不要将这个常量取值用做具体的业务逻辑判断,因为扩展库可能会变更每个常量对应的常量取值;

如果用做具体的业务逻辑判断,一旦常量取值发生改变,业务逻辑就会出错;

3.1 exs_yhm2712a.OVERHEAT

常量含义:IC过热事件
数据类型:number
注意事项:当充电IC温度超过120℃时触发该事件,扩展库会自动停止充电;
示例代码:if event == exs_yhm2712a.OVERHEAT then
             log.info("警告:设备温度过高!")
         end

3.2 exs_yhm2712a.CHARGER_IN

常量含义:充电器插入事件;
数据类型:number
注意事项:当检测到充电器插入时触发该事件;
示例代码:if event == exs_yhm2712a.CHARGER_IN then
             log.info("充电器已插入")
         end

3.3 exs_yhm2712a.CHARGER_OUT

常量含义:充电器拔出事件;
数据类型:number
注意事项:当检测到充电器拔出时触发该事件;
示例代码:if event == exs_yhm2712a.CHARGER_OUT then
             log.info("充电器已拔出")
         end

3.4 exs_yhm2712a.SHIPPING_MODE

常量含义:进入船运模式事件;
数据类型:number
注意事项:当设备进入船运模式时触发该事件;
示例代码:if event == exs_yhm2712a.SHIPPING_MODE then
             log.info("已进入船运模式")
         end

3.5 exs_yhm2712a.CCMIN

常量含义:最小充电电流;
数据类型:string
注意事项:虽然常量本身取值为"MIN",但在实际应用中,所有容量电池对应的具体最小充电电流值一致,均为50mA(单位:mA
示例代码: -- 设置CMD引脚为25, 电池充电截止电压为4.2V, 电池容量为1000mAh, 充电电流为最小电流
         exs_yhm2712a.setup({
             pin = 25,
             v_battery = 4200,
             cap_battery = 1000,
             i_charge = exs_yhm2712a.CCMIN
         })

3.6 exs_yhm2712a.CCDEFAULT

常量含义:默认充电电流;
数据类型:string
注意事项:虽然常量本身取值为"DEFAULT",但在实际应用中,不同电池容量对应的具体默认充电电流值不同;
         以下是不同容量对应的CCDEFAULT具体数值(单位:mA):
         - 电池容量为100-149mAh时CCDEFAULT对应50mA
         - 电池容量为150-249mAh时CCDEFAULT对应125mA
         - 电池容量为250-349mAh时CCDEFAULT对应175mA
         - 电池容量为350-449mAh时CCDEFAULT对应225mA
         - 电池容量为450-549mAh时CCDEFAULT对应250mA
         - 电池容量为550-649mAh时CCDEFAULT对应250mA
         - 电池容量为650-749mAh时CCDEFAULT对应375mA
         - 电池容量为750-849mAh时CCDEFAULT对应375mA
         - 电池容量为850-949mAh时CCDEFAULT对应375mA
         - 电池容量为950-1000mAh时CCDEFAULT对应500mA
         - 电池容量大于1000mAh时CCDEFAULT对应500mA
示例代码: -- 设置CMD引脚为25, 电池充电截止电压为4.2V, 电池容量为1000mAh, 充电电流为默认电流
         exs_yhm2712a.setup({
             pin = 25,
             v_battery = 4200,
             cap_battery = 1000,
             i_charge = exs_yhm2712a.CCDEFAULT
         })

3.7 exs_yhm2712a.CCMAX

常量含义:最大充电电流;
数据类型:string
注意事项:虽然常量本身取值为"MAX",但在实际应用中,不同电池容量对应的具体最大充电电流值不同;
         以下是不同容量对应的CCMAX具体数值(单位:mA):
         - 电池容量为100-149mAh时CCMAX对应50mA
         - 电池容量为150-249mAh时CCMAX对应125mA
         - 电池容量为250-349mAh时CCMAX对应175mA
         - 电池容量为350-449mAh时CCMAX对应225mA
         - 电池容量为450-549mAh时CCMAX对应250mA
         - 电池容量为550-649mAh时CCMAX对应375mA
         - 电池容量为650-749mAh时CCMAX对应500mA
         - 电池容量为750-849mAh时CCMAX对应500mA
         - 电池容量为850-949mAh时CCMAX对应500mA
         - 电池容量为950-1000mAh时CCMAX对应750mA
         - 电池容量大于1000mAh时CCMAX对应750mA
示例代码: -- 设置CMD引脚为25, 电池充电截止电压为4.2V, 电池容量为1000mAh, 充电电流为最大电流
         exs_yhm2712a.setup({
             pin = 25,
             v_battery = 4200,
             cap_battery = 1000,
             i_charge = exs_yhm2712a.CCMAX
         })

四、函数详解

4.1 初始化

4.1.1 exs_yhm2712a.setup(config)

功能

初始化 YHM2712A 充电管理芯片,配置通信引脚和充电参数;

参数

config

参数含义:初始化配置表
数据类型:table
取值范围:包含以下子参数:
{
    参数含义:YHM2712A CMD 引脚
    数据类型:number
    取值范围:有效的 GPIO 引脚编号
    是否必选:是
    参数示例:25
    config.pin,

    参数含义:电池充电截止电压(单位:mV
    数据类型:number
    取值范围:4200  4350 可选
    是否必选:是
    参数示例:4200
    config.v_battery,

    参数含义:电池容量(单位:mAh
    数据类型:number
    取值范围:>= 100
    是否必选:是
    参数示例:400
    config.cap_battery,

    参数含义:恒流充电电流()单位:mA
            锂电池充电过程有5个阶段:
            1. 预充电,Pre-Charge ,预充电电流(IPRE)默认3mA
            2. 涓流充电,Trickle-Charge ,涓流充电电流(ITRICKLE)默认12.5mA
            3. 恒流充电,Constant-Current,可以通过exs_yhm2712a.setup接口设置
            4. 恒压充电,Constant-Voltage,当电池电压接近 Vreg 时,YHM2712A 进入恒压模式,
                        充电电流开始逐渐减小,下降到终止电流阈值时,充电结束。
            5. 重新充电,Auto-Recharge,当电池电压低于Vreg电压120mV时开启
                        其电流值由触发重新充电时电池的电压决定,可能是IPREITRICKLE或者i_charge
    数据类型:string
    取值范围:exs_yhm2712a.CCMIN(最小电流)/ exs_yhm2712a.CCDEFAULT(默认电流)/ exs_yhm2712a.CCMAX(最大电流)
    是否必选:否
    注意事项:默认值为 exs_yhm2712a.CCDEFAULT
    参数示例:exs_yhm2712a.CCMIN
    config.i_charge
}
是否必选:是
参数示例: -- 最小化初始化
         exs_yhm2712a.setup({
             pin = 25,
             v_battery = 4200,
             cap_battery = 400
         })

         -- 完整配置
         exs_yhm2712a.setup({
             pin = 25,
             v_battery = 4350,
             cap_battery = 500,
             i_charge = exs_yhm2712a.CCMAX
         })

返回值

local init_result = exs_yhm2712a.setup(config)

init_result

含义说明:初始化是否成功
数据类型:boolean
取值范围:true(成功), false(失败)
注意事项:失败时请检查引脚配置、通信是否正常
返回示例:local result = exs_yhm2712a.setup({
             pin = 25,
             v_battery = 4200,
             cap_battery = 400,
             i_charge = exs_yhm2712a.CCMIN
         })
         log.info("exs_yhm2712a", "setup", result)

示例

-- YHM2712A 传感器初始化配置表(最小化)
local YHM2712A_MIN_CONFIG = {
    pin = 25,
    v_battery = 4200,
    cap_battery = 400
}

-- YHM2712A 传感器初始化配置表(完整)
local YHM2712A_FULL_CONFIG = {
    pin = 25,
    v_battery = 4350,
    cap_battery = 500,
    i_charge = exs_yhm2712a.CCMAX
}

-- 使用默认参数初始化
function setup_min()
    local result = exs_yhm2712a.setup(YHM2712A_MIN_CONFIG)
    return result
end

-- 使用自定义配置
function setup_full()
    local result = exs_yhm2712a.setup(YHM2712A_FULL_CONFIG)
    return result
end

4.2 充电控制

4.2.1 exs_yhm2712a.start()

功能

开启充电功能;

注意事项

开启充电 exs_yhm2712a.start() 默认自动执行,用户可以不用操作;

当碰到某些需要手动开启充电功能的场景时(例如在使用exs_yhm2712a.stop关闭充电功能后,可以使此接口重新开启充电功能),大家可以自行控制,当前仅为预留;

必须在task中运行,最大阻塞时间大概为700ms, 阻塞主要由sys.waitUntil("YHM27XX_REG", 500)和sys.wait(200)产生。

参数

返回值

local result = exs_yhm2712a.start()

result

含义说明:是否开启成功;
数据类型:boolean
取值范围:true/false
注意事项:true表示开启成功false表示开启失败
返回示例:local result = exs_yhm2712a.start()
         log.info("exs_yhm2712a", "start", result)

示例

function start_charging()
    local result = exs_yhm2712a.start()
    if result then
        log.info("exs_yhm2712a", "充电已开启")
    else
        log.error("exs_yhm2712a", "开启充电失败")
    end
    return result
end

4.2.2 exs_yhm2712a.stop()

功能

关闭充电功能;

注意事项

当碰到某些需要手动关闭充电功能的场景时(例如:当充电ic温度超过120℃时,立刻调用此接口停止充电),大家可以自行控制,当前仅为预留;

必须在task中运行,最大阻塞时间大概为700ms, 阻塞主要由sys.waitUntil("YHM27XX_REG", 500)和sys.wait(200)产生;

参数

返回值

local result = exs_yhm2712a.stop()

result

参数含义:是否关闭成功;
数据类型:boolean
取值范围:true/false
注意事项:true表示关闭成功false表示关闭失败
返回示例:local result = exs_yhm2712a.stop()
         log.info("exs_yhm2712a", "stop", result)

示例

function stop_charging()
    local result = exs_yhm2712a.stop()
    if result then
        log.info("exs_yhm2712a", "充电已停止")
    else
        log.error("exs_yhm2712a", "停止充电失败")
    end
    return result
end

4.3 状态查询

4.3.1 exs_yhm2712a.status()

功能

获取当前充电系统的完整状态,包括电池电压、充电阶段、充电状态、电池在位状态、充电器在位状态以及IC过热状态等信息。

注意事项

必须在task中运行,最大阻塞时间(包括超时重试时间)大概为20s。

参数

返回值

table类型,返回充电状态信息,格式如下:

local status = exs_yhm2712a.status()

status

含义说明:获取充电状态信息表,table内容格式说明如下
{
    -- 参数含义:状态查询是否成功;
    -- 数据类型:boolean;
    -- 取值范围:true(成功) / false(失败);
    -- 是否必选:是;
    -- 注意事项:所有其他字段的有效性取决于此字段是否为true;
    result,

    -- 参数含义:电池电压值;
    -- 数据类型:number;
    -- 取值范围:正常为实际电压值(mV),特殊值如下:
    --          -1 : 当前阶段不需要测量(预充电或涓流充电阶段不测量电压);
    --          -2 : 电压测量失败;
    --          -3 : 仅充电器就绪,无电池;
    -- 是否必选:是;
    -- 注意事项:在预充电或涓流充电阶段(charge_stage=1或2)返回-1;
    --          电压测量失败时返回-2;
    --          仅充电器在位时返回-3
    vbat_voltage,

    -- 参数含义:当前充电阶段描述;
    -- 数据类型:number;
    -- 取值范围:整数0-8,具体取值如下所示:
    --          0 : 放电模式
    --          1 : 预充电模式    
    --          2 : 涓流充电     
    --          3 : 恒流快速充电
    --          4 : 预留状态     
    --          5 : 恒压快速充电
    --          6 : 预留状态    
    --          7 : 充电完成  
    --          8 : 未知状态
    -- 是否必选:是;
    -- 注意事项:数值对应不同充电阶段,可用于判断当前充电状态和进度;
    charge_stage,

    -- 参数含义:充电是否完成;
    -- 数据类型:boolean;
    -- 取值范围:true(充电完成) / false(充电未完成);
    -- 是否必选:是;
    -- 注意事项:当充电阶段为7时此字段为true;
    charge_complete,

    -- 参数含义:电池是否在位;
    -- 数据类型:boolean;
    -- 取值范围:true(电池在位) / false(电池不在位);
    -- 是否必选:是;
    -- 注意事项:可用于检测电池是否连接到设备;
    battery_present,

    -- 参数含义:充电器是否在位;
    -- 数据类型:boolean;
    -- 取值范围:true(充电器在位) / false(充电器不在位);
    -- 是否必选:是;
    -- 注意事项:指示USB充电器是否连接,同时会触发对应的CHARGER_IN/CHARGER_OUT事件;
    charger_present,

    -- 参数含义:充电IC是否过热;
    -- 数据类型:boolean;
    -- 取值范围:true(充电IC过热) / false(充电IC未过热);
    -- 是否必选:是;
    -- 注意事项:当充电IC温度过高时为true,同时会触发OVERHEAT事件;
    ic_overheat
  }
数据类型:table
取值范围:符合上述结构的table对象
是否必选:是;
注意事项:所有状态字段的有效性都依赖于result字段是否为true,在使用任何其他字段前应先检查result值
参数示例:local status = exs_yhm2712a.status()
         if status.result then
             log.info("电池电压:", status.vbat_voltage, 
                     "充电阶段:", status.charge_stage, 
                     "充电是否完成:", status.charge_complete, 
                     "电池在位:", status.battery_present, 
                     "充电器在位:", status.charger_present, 
                     "IC过热:", status.ic_overheat)
         end

示例

function read_charging_status()
    local status = exs_yhm2712a.status()
    if status.result then
        log.info("exs_yhm2712a", string.format("电池电压: %d mV, 充电阶段: %d, 充电完成: %s, 电池在位: %s, 充电器在位: %s, IC过热: %s", 
            status.vbat_voltage, 
            status.charge_stage, 
            status.charge_complete and "是" or "否", 
            status.battery_present and "是" or "否", 
            status.charger_present and "是" or "否", 
            status.ic_overheat and "是" or "否"))
    else
        log.error("exs_yhm2712a", "读取充电状态失败")
    end
    return status
end

4.4 事件管理

4.4.1 exs_yhm2712a.on(func)

功能

注册事件回调函数,用于监听和响应充电系统的状态变化事件。

参数

func

参数含义:exs_yhm2712a事件回调函数,回调函数的格式为:
         function callback(event)
             log.info("callback",event)
         end
         该回调函数接收1个参数event,在不同事件类型下参数含义有所不同:
         -- 参数含义:具体的回调事件;
         -- 数据类型:number;
         -- 取值范围:1,对应常量 exs_yhm2712a.OVERHEAT(充电IC过热);
         --          2,对应常量 exs_yhm2712a.CHARGER_IN(充电器插入);
         --          3,对应常量 exs_yhm2712a.CHARGER_OUT(充电器拔出);
         --          4,对应常量 exs_yhm2712a.SHIPPING_MODE(进入船运模式);
         -- 是否必选:是;
         -- 注意事项:用于标识不同的回调触事件;
         event
数据类型:function
取值范围:回调函数本身无取值范围这一说法;
是否必选:是;
注意事项:多次调用 exs_yhm2712a.on() 会覆盖之前设置的回调函数,同一时间只能有一个回调函数生效;
参数示例:local function exs_yhm2712a_callback(event)
            if event == exs_yhm2712a.OVERHEAT then
                log.info("警告:设备温度过高!")
            elseif event == exs_yhm2712a.CHARGER_IN then
                log.info("充电器已插入")
            elseif event == exs_yhm2712a.CHARGER_OUT then
                log.info("充电器已拔出")
            elseif event == exs_yhm2712a.SHIPPING_MODE then
                log.info("已进入船运模式")
            end
        end

返回值

示例

-- 事件回调函数
local function yhm2712a_event_callback(event)
    if event == exs_yhm2712a.OVERHEAT then
        log.info("exs_yhm2712a", "警告:设备温度过高!")
    elseif event == exs_yhm2712a.CHARGER_IN then
        log.info("exs_yhm2712a", "充电器已插入")
    elseif event == exs_yhm2712a.CHARGER_OUT then
        log.info("exs_yhm2712a", "充电器已拔出")
    elseif event == exs_yhm2712a.SHIPPING_MODE then
        log.info("exs_yhm2712a", "已进入船运模式")
    end
end

-- 注册回调
function register_event_callback()
    exs_yhm2712a.on(yhm2712a_event_callback)
end

4.5 船运模式

4.5.1 exs_yhm2712a.ship_mode()

功能

进入船运模式,在该模式下电池FET断开,适用于产品运输和存储。

船运模式并不是一定在使用轮船运输时才可使用,仅以船运代表设备正处在运输过程中的状态,切勿误解。

实际项目中,船运模式适用于产品出厂运输、长期库存等场景,对于上电开机且出厂时必须安装好电池的产品,使用该模式进行断电控制,既能确保运输安全,又能避免设备在运输和存储过程中消耗电量。

使用船运模式的步骤为:

首先,在生产线上完成产品的测试和校准后,通过软件调用 exs_yhm2712a.ship_mode() 接口让设备进入船运模式, 这样设备会断开电池与系统的连接;设备在运输和存储过程中会保持这种状态,直到用户收到产品后插入USB充电器, YHM2712A会自动检测到VIN电压并退出船运模式,唤醒设备开始正常工作。

注意事项

必须在task中运行,最大阻塞时间大概为2500ms, 阻塞由sys.waitUntil("YHM27XX_REG", 500)和sys.wait(2000)产生。

参数

返回值

local result = exs_yhm2712a.ship_mode()

result

参数含义:是否进入船运模式成功;
数据类型:boolean
取值范围:true/false
注意事项:true表示成功false表示失败
返回示例:local result = exs_yhm2712a.ship_mode()
         log.info("exs_yhm2712a", "ship_mode", result)

示例

-- 进入船运模式
function enter_shipping_mode()
    local result = exs_yhm2712a.ship_mode()
    if result then
        log.info("exs_yhm2712a", "已成功进入船运模式")
    else
        log.error("exs_yhm2712a", "进入船运模式失败")
    end
    return result
end

4.6 版本管理

4.6.1 exs_yhm2712a.version()

功能

获取库文件版本信息

参数

无参数

返回值

local version= exs_yhm2712a.version()

version

含义说明:库文件版本信息,string类型的年月日时分
数据类型:string
取值范围:12位数字;
注意事项:格式为 yyyymmddhhmm,表示 yyyy年mm月dd日hh时mm分发布的版本
返回示例:"202607201900"

示例

-- 获取并显示版本号
function get_version_info()
    local ver = exs_yhm2712a.version()
    log.info("exs_yhm2712a", "版本号:", ver)
    return ver
end

五、版本更新说明

版本号:202607201900

  1. 更新时间:2026-07-20 19:00

  2. 更新内容:

    • 初版,实现 YHM2712A 充电管理芯片的完整驱动功能

    • 支持通过单总线通信控制充电功能

    • 提供充电状态查询、事件回调、船运模式等功能

    • 新增 exs_yhm2712a.version() 接口,提供库版本查询功能

六、产品支持说明

所有支持 LuatOS 二次开发的模块,具体可以查看选型手册

搜索