这里主要是分析一下充电插拔的处理,以及电池电量的监测的逻辑

初始化流程

/* 初始化流程 */
app_initapp_battery_open/* 创建电池电量检测定时器 */osTimerCreate (osTimer(APP_BATTERY), ...)/* 创建插拨防抖的定时器 */osTimerCreate (osTimer(APP_BATTERY_PLUGINOUT_DEBOUNCE), ...);/*注册app线程中APP_MODUAL_BATTERY模块的消息处理函数*/app_set_threadhandle(APP_MODUAL_BATTERY, app_battery_handle_process);/* 注册中断处理函数 */app_battery_charger_indication_openpmu_charger_set_irq_handler(app_battery_charger_handler);/* 初始化io口 */hal_iomux_init(&app_battery_ext_charger_detecter_cfg,...hal_iomux_init(&app_battery_ext_charger_enable_cfg,.../* 启动电池电量管理的定时器 */app_battery_start

当有插拔事件时

/* 当usb有插拔时触发中断 */
app_battery_charger_handler/*发APP_BATTERY_STATUS_PLUGINOUT状态给到app线程,最终由 app_battery_handle_process 回调函数处理*/app_battery_event_process/*app线程中APP_MODUAL_BATTERY模块消息回调函数*/
app_battery_handle_processAPP_BATTERY_GET_STATUS(msg_body->message_id, status);/* 上面触发的插拔中断发送的消息,在这里处理 */if(status == APP_BATTERY_STATUS_PLUGINOUT)/* 启动防抖定时器 */app_battery_pluginout_debounce_start/* 定时器的回调函数 */app_battery_pluginout_debounce_handler/* 启动3(次)*50ms之后,发消息将插入状态给到线程处理*//* 最终处理结果为app_battery_measure.status设置为APP_BATTERY_STATUS_CHARGING */app_battery_event_process(APP_BATTERY_STATUS_CHARGING, status_charger);else/* 正常使用和充电状态的其他消息*/switch (app_battery_measure.status)case APP_BATTERY_STATUS_NORMAL/* 电池正常使用时的处理函数 */app_battery_handle_process_normalcase APP_BATTERY_STATUS_CHARGING/* 电池充电状态下的处理函数*/app_battery_handle_process_charging

电池电量监测

/* 电池电量管理定时器回调函数,开机之后就会启动 */
app_battery_timer_handler/* 启动adc检测,并设置adc中断处理函数 */hal_gpadc_open(..., app_battery_irqhandler);/* adc检测中断函数,*/app_battery_irqhandler/* 更新电池电量,通过app_battery_measure.cb实际指向app_battery_event_process*//* 将电量信息发给app_battery_handle_process处理,处理完之后会重新启动该定时器*/app_battery_measure.cb->app_battery_event_process

相关资料请到<bes2300开发调试笔记>文章底部的网盘链接中下载!

bes2300之电源管理(六)相关推荐

  1. linux时钟与电源管理,SOC的时钟和电源管理

    SOC的时钟和电源管理 (2013-04-27 18:58:07) 标签: it dm3730 时钟 linux 电源 现在的SOC,因为多用做手持设备,所以在节省能源方面都不遗余力.我看原因到不是为 ...

  2. 深入理解Linux电源管理(0.2)

    学习方法论 写作原则 标题括号中的数字代表完成度与完善度 0.0-1.0 代表完成度,1.1-1.5 代表完善度 0.0 :还没开始写 0.1 :写了一个简介 0.3 :写了一小部分内容 0.5 :写 ...

  3. 信创操作系统--统信UOS桌面版(登录与激活统信:直接登录、远程登录、锁屏、电源管理、激活)

    信创操作系统–统信UOS桌面版(登录与激活统信:直接登录.远程登录) 目录 前言 1. 启动 1.1. GRUB简介 2. 登录 2.1. 直接登录 2.2. 远程登陆 2.3. 锁屏 2.4. 电源 ...

  4. STM8时钟树及电源管理

    一.时钟树及电源管理 为了提高适用性和可靠性,STM8S单片机增加了许多的特色功能,如多时钟源.多功耗管理模式及自动唤醒功能等. 二.时钟的功能 处理器必须要稳定的时钟源才能可靠的运行.STM8S单片 ...

  5. [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文...

    综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...

  6. S32K3xx电源管理(低功耗)学习

    S32K3xx电源管理学习 目录 S32K3xx电源管理学习 一.S32K3xx的两种工作模式 二.S32K3xx在两种模式下允许运行哪些外设 三.S32K3xx从Standby模式唤醒后程序从哪里允 ...

  7. 信创操作系统--统信UOS桌面版(控制中心:账户、自定义、个性化、声音、日期、电源管理、网络、蓝牙、输入法、系统更新等设置)

    信创操作系统–统信UOS桌面版(控制中心:账户.自定义.个性化.声音.日期.电源管理.网络.蓝牙.输入法.系统更新等设置) 目录 前言 1.账户类设置 1.1 账户设置 1.1.1创建新账户 1.1. ...

  8. linux pcie热插拔驱动_Linux安装TLP-高级电源管理工具

    唉,最近有了一个新问题.系统版本Ubuntu 18.04,笔记本,一旦断开电源,电脑就会卡住.试过的方法: 更新了固件 sudo apt update sudo apt upgrade -y 管了几天 ...

  9. 时钟,复位和电源管理

    文章目录 一.电源管理和复位 二.时钟 1.时钟的分类和特性 2.时钟图 杨桃32学习笔记,本文图片文字皆为转述 一.电源管理和复位 (1)8MHZ的振荡器给arm内核提供,40khz给RTC使用也就 ...

最新文章

  1. Pytorch中的广播机制
  2. SetTimer的使用问题
  3. Kafka如果丢了消息,怎么处理的?
  4. JavaScript学习 九、事件
  5. support mobile touch event
  6. Android官方开发文档Training系列课程中文版:OpenGL绘图之响应触摸事件
  7. [转载] Java为什么不允许覆盖静态方法?
  8. 开课吧Java课堂:特殊的字符串如何操作,字符串如何连接
  9. H5 WebSocket java服务端push
  10. 【渝粤教育】电大中专测量学 (4)作业 题库
  11. 对 NGUI 子节点的位置的一点理解
  12. WIN8禁用休眠功能
  13. isilon域环境配置
  14. SSM搭建-Spring第一个Spring HelloWorld(2)
  15. python 微信图文消息接口_用Python实现微信公众号API素材库图文消息抓取
  16. PC端网页布局——世纪佳缘(二)页面初搭建
  17. Android中实现播放背景音乐功能
  18. 用于链接预测的邻域重叠感知图神经网络
  19. C语言,十进制转化为二进制。
  20. 程序员,不甘平凡又害怕努力… 1

热门文章

  1. LA3026 Period
  2. adobe cs5中文补丁 indesign_Adobe InDesign CS5中文版经典教程
  3. emacs 24.5编译eww
  4. gmsv源代码c语言,stone_server 整理过的石器时代2.0 server gmsv+saac - 下载 - 搜珍网
  5. Node+express+mysql实现后台服务接口
  6. DSP28335—把TMS320F28XXX的程序段从flash复制到ram中运行
  7. 【第二章】(3)新手必须掌握的Linux命令之《系统状态检查命令》
  8. 社工考试用计算机干什么,考了社会工作者证可以用来干嘛 - 希赛网
  9. [RK3288][Android6.0] 调试笔记 --- AndroidTool两种低格方式
  10. 网络分流器|网络分流器|网络分流器在移动互联网监控应用案例