BES------电源模块

电源模块解析
在app_init()的初始化函数中, 会打开电源管理模块初始化函数

app_battery_open();

app_battery_open()中主要对
1.struct APP_BATTERY_MEASURE_T结构体的数据进行初始化.
2.同时创建了两个定时器一个是电压采集定时器, 一个是出入盒消抖定时器
3.在APP线程中添加BATTERY_MODUAL模块的处理函数. 然后电压采集结束后,会给APP线程发一个app_battery的处理邮件,并进行电压处理.

static void app_thread(void const *argument)
{
    while(1){
        APP_MESSAGE_BLOCK *msg_p = NULL;
        if (!app_mailbox_get(&msg_p)) {
            if (msg_p->mod_id < APP_MODUAL_NUM) {
                if (mod_handler[msg_p->mod_id]) {
                    int ret = mod_handler[msg_p->mod_id](&(msg_p->msg_body));
                    if (ret)
                        TRACE(2,"%s, mod_handler[%d] ret=%d", __func__, msg_p->mod_id, ret);
                }
            }
            app_mailbox_free(msg_p);
        }
    }
}

在这里插入图片描述
在app_init()的初始化函数中, 电源管理模块初始化后会启动 开启定时器

app_battery_start();
static void app_battery_timer_handler(void const *param){
	hal_gpadc_open(HAL_GPADC_CHAN_5, HAL_GPADC_ATP_ONESHOT, app_battery_irqhandler);
}

采集完成后会有adc中断, 给线程发送邮箱

app_battery_event_process(enum APP_BATTERY_STATUS_T status, APP_BATTERY_MV_T volt)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值