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

相关推荐
猫猫的小茶馆29 分钟前
【单片机】嵌入式系统设计流程
stm32·单片机·嵌入式硬件·mcu·51单片机
Tlog嵌入式2 小时前
[项目]基于FreeRTOS的STM32四轴飞行器: 二.项目搭建及移植FreeRTOS
stm32·单片机·嵌入式硬件·mcu
吉星9527ABC3 小时前
Linux下的c进程和java进程的通信-UnixSocket
java·linux·c语言·unixsocket通讯
小呀小萝卜儿3 小时前
2025-03-04 学习记录--C/C++-C语言 判断是否是素数
c语言·学习
kk努力学编程3 小时前
C语言综合案例:学生成绩管理系统
c语言·开发语言·算法
m0_748254884 小时前
【华为OD机考】2024E+D卷真题【完全原创题解 详细考点分类 不断更新题目 六种主流语言Py+Java+Cpp+C+Js+Go】
java·c语言·华为od
solomonzw5 小时前
C++ 学习(八)(模板,可变参数模板,模板专业化(完整模板专业化,部分模板专业化),类型 Traits,SFINAE(替换失败不是错误),)
c语言·开发语言·c++·学习
鬼手点金8 小时前
单片机学习规划
单片机·嵌入式硬件
John.Lewis8 小时前
C语言学习笔记-初阶(30)深入理解指针2
c语言·笔记·学习