[项目]基于FreeRTOS的STM32四轴飞行器: 三.电源控制

基于FreeRTOS的STM32四轴飞行器: 三.电源控制

一.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内收到通知就执行强制关机,未收到通知就短按持续激活电源芯片。

相关推荐
FreakStudio9 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
ifndef11 天前
GPIO同时复用(ADC与TIM)
mcu
LDR00614 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
✎ ﹏梦醒͜ღ҉繁华落℘14 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
Luminous.14 天前
C语言--day30
c语言·开发语言
玖玥拾14 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
謓泽14 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
不会C语言的男孩14 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
zd84510150014 天前
RS485 总线详解
单片机·嵌入式硬件
2601_9516438814 天前
C语言长文整理,关键字和数据类型
c语言·数据类型·关键字·嵌入式开发·格式化输出