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

相关推荐
白山编程大哥1 小时前
适合初学者练习的 C/C++ 开源项目推荐
c语言·c++·开源
小灰灰搞电子2 小时前
C 语言 <stdlib.h> 头文件详解
c语言·stdlib.h
AOI小白新手上路2 小时前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
xingzhemengyou13 小时前
STM32对函数进行CRC校验
stm32·单片机·嵌入式硬件
Navigator_Z3 小时前
LeetCode //C - 1276. Number of Burgers with No Waste of Ingredients
c语言·算法·leetcode
FPGA小徐3 小时前
STM32引脚详解:PC13-TAMPER-RTC 多功能复用引脚完全剖析(踩坑+配置+布线)
单片机·嵌入式硬件
gcygeeker3 小时前
科沃斯T50 PRO上下水版接入Home Assistant(含地图修复)
iot·hass·homeassistant
wuminyu3 小时前
JVM虚拟线程的底层实现原理分析
java·linux·c语言·jvm·c++
铅笔小新z3 小时前
【stm32】中断与异常
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi4 小时前
无线遥控电动阀门开关模块设计(论文+源码)
单片机·无线遥控