山景G1-NVM
以下是将 PMU 模块驱动接口函数整理成的表格,包含函数名、参数、返回值、@brief 和 @note 信息:
| 函数名 | 参数 | 返回值 | @brief | @note |
|---|---|---|---|---|
PMU_WriteEnable | 无 | 无 | 使能 PMU 寄存器写访问 | 调用后允许写 PMU 相关寄存器 |
PMU_WriteDisable | 无 | 无 | 关闭 PMU 寄存器写访问 | 调用后禁止写 PMU 相关寄存器 |
PMU_SystemPowerDown | 无 | 无 | 触发系统进入掉电状态 | 执行后系统进入低功耗掉电 |
PMU_AutoPowerOnEnable | 无 | 无 | 在电源就绪时,启用被动关机状态的自动上电 | 适用于待机被动关机的自动唤醒 |
PMU_AutoPowerOnDisable | 无 | 无 | 在电源就绪时,关闭被动关机状态的自动上电 | 禁止待机被动关机的自动唤醒 |
PMU_IsAutoPowerOnEnabled | 无 | true:启用;false:禁用 | 检查自动上电模式的设置状态 | 返回当前自动上电配置 |
PMU_NVMInit | 无 | 无 | 首次上电时清理 NVM 存储区 | 需在调用 PMU_NvmRead 与 PMU_NvmWrite 之前执行 |
PMU_NvmRead | Nvmoffset:偏移范围 0~4Buf:用于存放 NVM 数据的内存地址Length:数据长度,需满足 Nvmoffset + Length <= 5 | true:读取成功;false:读取失败(参数错误或未先调用 PMU_NVMInit) | 读取 NVM 数据 | 无 |
PMU_NvmWrite | Nvmoffset:偏移范围 0~4Buf:读取数据的内存地址Length:数据长度,需满足 Nvmoffset + Length <= 5 | true:写入成功;false:写入失败(参数错误或未先调用 PMU_NVMInit) | 写入 NVM 数据 | 无 |
PMU_PowerupEventGet | 无 | CHARGE_OUT_EVENT:充电拔出CHARGE_IN_EVENT:充电插入POWERKEY_EVENT:有效电源键事件 | 获取上电事件标志 | 无 |
PMU_PowerupEventClr | 无 | 无 | 清除上电事件标志 | 复位事件标志位 |
PMU_PowerkeySarADCEn | 无 | 无 | 使能电源键到 SARADC 的通路,电源键可作为 ADC 键 | 打开后可通过 ADC 采样电源键 |
PMU_PowerkeySarADCDis | 无 | 无 | 禁用电源键到 SARADC 的通路 | 关闭后无法通过 ADC 采样电源键 |
PMU_PowerkeySarADCEnGet | 无 | true:已启用;false:未启用 | 检查电源键到 SARADC 的通路是否已启用 | 无 |
PMU_PowerkeyPullup102K | 无 | 无 | 设置电源键通过 102K 电阻上拉 | 无 |
PMU_PowerkeyPullup22K | 无 | 无 | 设置电源键通过 22K 电阻上拉 | 无 |
PMU_PowerkeyPullupOhmGet | 无 | SEL_102K:102K 上拉;SEL_22K:22K 上拉 | 获取电源键上拉类型 | 无 |
PMU_PowerKeyStateClear | 无 | 无 | 清除电源键按下触发状态标志 | 无 |
PMU_PowerKeyShortPressStateClear | 无 | 无 | 清除电源键短按触发状态标志 | 无 |
PMU_PowerKeyLongPressStateClear | 无 | 无 | 清除电源键长按触发状态标志 | 无 |
PMU_PowerKeyModeSet | PowerKeyMode:HARD_MODE(硬开关)或 SOFT_MODE(软开关) | 无 | 设置电源键切换模式 | 无 |
PMU_PowerKeyModeGet | 无 | HARD_MODE 或 SOFT_MODE | 获取电源键切换模式 | 无 |
PMU_PowerKeyHardModeSet | HardTriggerMode:0 - LEVEL_TRIGGER(电平触发);1 - EDGE_TRIGGER(边沿触发) | 无 | 设置硬开关模式下的电源键触发类型 | 无 |
PMU_PowerKeyHardModeGet | 无 | LEVEL_TRIGGER 或 EDGE_TRIGGER | 获取硬开关模式下的电源键触发类型设置 | 无 |
PMU_PowerKeyActiveLevelSet | PowerkeyActiveLevel:LOW_INDICATE_POWERON(低电平表示开机)或 HIGH_INDICATE_POWERON(高电平表示开机) | 无 | 设置电源键有效电平 | 无 |
PMU_PowerKeyActiveLevelGet | 无 | LOW_INDICATE_POWERON 或 HIGH_INDICATE_POWERON | 获取电源键有效电平设置 | 无 |
PMU_PowerKeyLongOrShortPressSet | mode_set:POWERKEY_LONG_PRESS_MODE(长按触发启动)或 POWERKEY_SHORT_PRESS_MODE(短按触发启动) | 无 | 设置掉电状态下电源键的启动触发类型 | 无 |
PMU_PowerKeyLongOrShortPressGet | 无 | POWERKEY_LONG_PRESS_MODE 或 POWERKEY_SHORT_PRESS_MODE | 获取电源键启动触发类型设置 | 无 |
PMU_PowerKeyTrigStateGet | 无 | true:触发标志已置位;false:触发标志未置位 | 获取电源键触发状态标志 | 表示电源键按下已持续达到短按时间 |
PMU_PowerKeyShortPressTrigStateGet | 无 | true:短按标志已置位;false:短按标志未置位 | 获取电源键短按状态标志 | 表示按下时间超过短按时间但小于长按时间 |
PMU_PowerKeyLongPressTrigStateGet | 无 | true:长按标志已置位;false:长按标志未置位 | 获取电源键长按状态标志 | 表示在软开关模式下按下时间已达到长按时间 |
PMU_PowerKeyPinStateGet | 无 | 1:高电平;0:低电平 | 获取当前电源键引脚电平状态 | 无 |
PMU_PowerKeyEnable | 无 | 无 | 使能电源键模块 | 无 |
PMU_PowerKeyDisable | 无 | 无 | 禁用电源键模块 | 无 |
PMU_IsPowerKeyEnabled | 无 | true:已使能;false:未使能 | 获取电源键使能状态 | 无 |
PMU_PowerKeyShortPressTrigMaxCntSet | cnt:1~63,单位:8ms | 无 | 设置电源键短按时间 | 1) 短按时间 = cnt8ms + 噪声过滤4ms 2) cnt 不应为 0 |
PMU_PowerKeyShortPressTrigMaxCntGet | 无 | 设置的计数值 | 获取电源键短按时间设置值 | 无 |
PMU_PowerKeyLongPressTrigMaxCntSet | cnt:1~63,单位:64ms | 无 | 设置电源键长按时间 | 长按时间 = cnt64ms + 噪声过滤4ms |
PMU_PowerKeyLongPressTrigMaxCntGet | 无 | 设置的计数值 | 获取电源键长按时间设置值 | 应保证:长按时间 > 短按时间 |
PMU_PowerKeyResetTrigMaxCntSet | cnt:0~15,单位:1.024s | 无 | 设置电源键长按复位时间 | 长按复位时间 = cnt1.024s + 噪声过滤4ms |
PMU_PowerKeyResetTrigMaxCntGet | 无 | 设置的计数值 | 获取电源键长按复位时间设置值 | 无 |
PMU_PowerKeyNoiseFilterMaxCntSet | cnt:0~63,单位:4ms | 无 | 设置电源键噪声过滤时间 | 无 |
PMU_PowerKeyNoiseFilterMaxCntGet | 无 | 设置的计数值 | 获取电源键噪声过滤时间设置值 | 无 |
PMU_PowerLongResetModeSet | PowerLongResetMode:RST_MODE_TIMEOUT_KEYUP - 当按键时间超过设定时,复位在松开按键后释放;LONGR_RST_MODE_TIMEOUT - 当按键时间达到设定时立即释放复位,不考虑松开时间 | 无 | 设置电源键长按复位模式 | 无 |
PMU_PowerLongResetModeGet | 无 | RST_MODE_TIMEOUT_KEYUP 或 LONGR_RST_MODE_TIMEOUT | 获取电源键长按复位模式设置 | 无 |
PMU_FristPowerOnFlagGet | 无 | true:首次上电;false:非首次上电 | 获取布尔值以判断是否为 PMU 首次上电 | 需在调用 PMU_PowerKeyEnable() 之前调用 |
PMU_ResRegOneBitSet | BitMask:寄存器位掩码 [bit0 ~ bit7] | 无 | 将保留寄存器中指定位设置为 1 | bit0、bit1 由系统使用 |
PMU_ResRegOneBitClear | BitMask:寄存器位掩码 [bit0 ~ bit7] | 无 | 将保留寄存器中指定位清零为 0 | bit0、bit1 由系统使用 |
PMU_ResRegGet | 无 | 寄存器值 | 读取保留寄存器的当前值 | 无 |
PMU_PowerSleepInit | 无 | 无 | 初始化低功耗睡眠(PowerSleep) | 低功耗睡眠期间保持 RAM 与 PC 指针 |
PMU_PowerSleepKeyInit | 无 | 无 | 设置电源键唤醒 | 无 |
PMU_PowerSleepRTCSet | Timer_Num:0 ~ 0xFFFFFF,RTC 唤醒时间 = Timer_Num * 32us(单位:us) | 无 | 设置 RTC 唤醒时间 | 无 |
PMU_PowerSleepGPIOA0A1Set | GPIO_SET:A0 / A1 | 无 | 设置 GPIOA0/A1 唤醒 | 无 |
PMU_PowerSleepGPIOA0A1Clear | GPIO_SET:A0 / A1 | 无 | 清除 GPIOA0/A1 的低功耗睡眠状态 | 无 |
PMU_PowerSleepTrigSet | Trig_able:位定义——bit5: rw_osc_en;bit4: 保留;bit3: 低功耗定时器;bit2: 电源键;bit1~bit0: GPIO-A1、GPIO-A0 | 无 | 设置唤醒触发源 | 无 |
PMU_PowerSleepStart | 无 | 无 | 启动低功耗睡眠 | 无 |
PMU_PowerSleepTrigFlagGet | 无 | 位定义——bit5: rw_osc_en;bit4: 保留;bit3: 低功耗定时器;bit2: 电源键;bit1~bit0: GPIO-A1、GPIO-A0 | 获取低功耗睡眠触发状态标志 | 无 |
PMU_PowerSleepTrigClr | 无 | 无 | 清除低功耗睡眠触发状态标志 | 无 |
PMU_FristPowerSleepWakeupSet | 无 | 无 | 设置首次低功耗睡眠唤醒标志 | 无 |