[项目]基于FreeRTOS的STM32四轴飞行器: 三.电源控制
基于FreeRTOS的STM32四轴飞行器: 三.电源控制
- 一.IP5305T芯片手册
 - 二.电源控制任务
 
一.IP5305T芯片手册

 注意该芯片低功耗特性,为防止进入待机,每隔一段时间发送一个电平。
 
 官方提供的芯片外围电路设计图:
 
 电气特性:
 当负载电流持续小于45mA,最小值24s,典型值32s,最大值40s,会自动关机。
 
 如果已经关机或者防止关机,要给予一个短按,给30ms低电平就认为短按了,手册有误差经过实验至少80ms才实现短按。
 
 按键方式:
 不需要时将按键悬空,连续短按两次可以关闭芯片紧急关机。
 
二.电源控制任务
Inf_IP5305T.c:
 先实现短按功能,通过拉低拉高电平实现,static使该函数只能在Inf_IP5305T.c中被调用:
 
 实现芯片开机功能,直接调用短按函数:
 
 实现芯片关机功能,在1S内连续两次短按:
 
 App_Task.c:
 配置电源管理任务形参:
 
 创建电源控制任务:
 
 编写电源任务函数:
 通过xTaskGetTickCount()获取当前的时间记录时间点,进入while循环后先判断阻塞等待通知(类似信号量获取)ulTaskNotifyTake(pdTRUE, POWER_EXEC_CYCLE),如果在10S内收到通知就执行强制关机,未收到通知就短按持续激活电源芯片。
 
