CH5xx BLE低功耗使用GPIO唤醒

news/2025/11/1 12:12:18/文章来源:https://www.cnblogs.com/risc5-ble/p/19182078

在BLE例程中开启HAL_SLEEP低功耗后是通过RTC唤醒来实现的,那么需要加入GPIO唤醒需怎么添加呢,其实很简单:只要添加PM例程中的GPIO唤醒部分即可,睡眠部分也需要处理下。

GPIO只需要初始化和增加中断服务函数即可。

#include "gpio_wake.h"

volatile uint8_t wake_flag=0;

void GpioWakeInit()
{
GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_PU);
GPIOA_ITModeCfg(GPIO_Pin_5, GPIO_ITMode_FallEdge); // 下降沿唤醒
PFIC_EnableIRQ(GPIO_A_IRQn);
PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_GPIO_WAKE, Long_Delay);
}


__INTERRUPT
__HIGH_CODE
void GPIOA_IRQHandler(void)
{
wake_flag=1;
GPIOA_ClearITFlagBit(GPIO_Pin_5);
}

睡眠函数处理:

uint32_t CH59x_LowPower(uint32_t time)
{
#if(defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE)volatile uint32_t i;uint32_t time_sleep, time_curr;unsigned long irq_status;if(wake_flag){return 2;}// 提前唤醒if (time <= WAKE_UP_RTC_MAX_TIME) {time = time + (RTC_MAX_COUNT - WAKE_UP_RTC_MAX_TIME);} else {time = time - WAKE_UP_RTC_MAX_TIME;}SYS_DisableAllIrq(&irq_status);time_curr = RTC_GetCycle32k();// 检测睡眠时间if (time < time_curr) {time_sleep = time + (RTC_MAX_COUNT - time_curr);} else {time_sleep = time - time_curr;}// 若睡眠时间小于最小睡眠时间或大于最大睡眠时间,则不睡眠if ((time_sleep < SLEEP_RTC_MIN_TIME) || (time_sleep > SLEEP_RTC_MAX_TIME)) {SYS_RecoverIrq(irq_status);return 2;}RTC_SetTignTime(time);SYS_RecoverIrq(irq_status);#if(DEBUG == Debug_UART1) // 使用其他串口输出打印信息需要修改这行代码while((R8_UART1_LSR & RB_LSR_TX_ALL_EMP) == 0){__nop();}#endif// LOW POWER-sleep模式if(!RTCTigFlag){LowPower_Sleep(RB_PWR_RAM2K | RB_PWR_RAM24K | RB_PWR_EXTEND | RB_XT_PRE_EN );if(wake_flag){DelayUs(200);}HSECFG_Current(HSE_RCur_100); // 降为额定电流(低功耗函数中提升了HSE偏置电流)i = RTC_GetCycle32k();while(i == RTC_GetCycle32k());return 0;}
#endifreturn 3;
}

主循环添加程序官网gpio唤醒:

__HIGH_CODE
__attribute__((noinline))
void Main_Circulation()
{while(1){TMOS_SystemProcess();if(wake_flag){PRINT("pa5 wake\n");wake_flag=0;}}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/952690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年 11 月美白贴片面膜,抗衰老贴片面膜,补水贴片面膜厂家最新推荐,高性能与可靠性兼具的优质品牌

2025 年功效型面膜市场中,美白、抗衰老、补水三类贴片面膜因覆盖 “提亮 - 抗老 - 补水” 全龄段需求,市场份额占比达 72%,但 41% 的采购者反馈 “高性能产品稳定性差、可靠品牌难筛选”。本次推荐联合协会开展专项…

启动的时候出现错误 (exit code -1073741819 (0xc0000005) )?报错0xC0000005的可能原因?

需要理解一下,什么是 0xc0000005 错误 这个是程序运行中崩溃,报错多与运行库内存管理冲突有关,常见于多模块(如主程序+DLL)混用运行库的场景。 报错示例:“应用程序发生异常 unknown software exception (0xc000…

2025年11月网站建设服务商推荐榜单:聚焦技术实力与行业应用

随着数字化转型进程加速,网站作为企业形象展示与业务拓展的核心载体,其建设质量直接影响品牌传播效率与用户互动体验。根据中国工业和信息化部发布的《“十四五”软件和信息技术服务业发展规划》,2024年我国企业网站…

.NET Framework 3.5安装失败?离线安装.NET Framework 3.5教程,附.NET Framework 3.5,4.5,4.8 等版本下载

前言:.NET Framework.NET Framework是微软的.NET框架程序的运行库,有很多软件需要NET 3.5 Framework才能运行,比如说AutoCAD、3DMAX等。 这是一种速度比较快的方法,前提是你的系统是正常的系统。在Windows10的使用…

2025年11月祛斑精华产品推荐榜:权威评测与深度对比分析

色斑问题一直是困扰许多人的皮肤难题,无论是日晒引起的晒斑、内分泌失调导致的黄褐斑,还是炎症后留下的色素沉着,都直接影响着皮肤的外观和个人的自信心。选择一款合适的祛斑精华产品,对于改善肤色不均、提升皮肤质…

vscode判断当前是否为debug模式

VS Code 的 Python 调试链路: launch.json → debugpy → pydevd → 你的代码 只要跑在调试模式下,sys.modules 里就一定会有带 pydevd 字样的模块。 普通“Run Python File”或终端 python xxx.py 则不会加载它。 示…

计算机网络学习分享1

网络可以看成一堆主机节点构成一个边缘系统在通过接入网接入由一些交换节点互相连接的所有构成的网络核心;网络也可以看成是一堆的ISP(互联网服务提供商)组成,具体怎么组成呢,先解释一下ISP,ISP可以是一个学校一…

FFmpeg开发笔记(八十七)采用Kotlin的手机开源播放器VLC-Android

​《FFmpeg开发实战:从零基础到短视频上线》一书的“3.4.1 通用音视频播放器”介绍了如何在桌面系统上安装和使用通用音视频播放器VLC media player,其实VLC是个跨平台的播放器,它也提供了面向Android平台的手机版…

AI + Excel:公式生成、数据分析、图表一键搞定

​“写 Excel 公式比写代码还难?”“每天都在做报表,却被 VLOOKUP 折磨?”现在,有了 AI,你可能再也不用死记硬背函数了。本文带你了解如何利用 ChatGPT、Copilot、通义千问等 AI 工具,在 Excel 中实现 公式自动生…

清华大学AI领导力AI时代领导力AI变革领导力培训师培训讲师专家唐兴通讲授数字化转型人工智能组织创新实践领导力国央企国有企业金融运营商制造业 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

CryptoNet:一个高效、安全的加密库

CryptoNet 是一个简单、快速且轻量级的非对称和对称加密 NuGet 库,支持跨平台 Windows、Linux。不依赖其他库, 100% C# 实现。 CryptoNet 可以通过两种方式使用:• 对称方式• 非对称方式对称方式 您使用相同的密钥…

Sqlserver Stuff+for xml+values 记录下,将多列数据有数据的合并为一个单元格

select InspectionRecordId,stuff( ( select ,+col_name+:+cast(col_value as varchar(max)) from ( values(123,PrintingDefectQty),(456,VacuumFormingDefectQty) ) AS cols(col_name, col_value) where col_v…

2025 年精华液厂家企业品牌推荐排行榜,烟酰胺精华液,富勒烯精华液,复合酸精华液,抗衰老精华液,修护精华液,抗氧化精华液,保湿精华液,液态精华液公司推荐

在当下的精华液市场中,消费者对产品品质的要求不断提升,而源头厂家的实力直接决定了产品的质量与性价比。然而,行业内却存在诸多问题:部分厂家缺乏核心技术,依赖廉价原料导致产品功效不佳;一些小型加工厂生产标准…

2025 年 11 月烟酰胺精华液,修护精华液,保湿精华液厂家最新推荐,技术实力与市场口碑深度解析

据中国化妆品工业协会 2025 年三季度测评数据显示,烟酰胺、修护、保湿类精华液市场规模同比增长 37%,但 38% 的品牌方反映存在原料把控不严、功效不稳定等合作痛点。为破解选厂难题,本次测评联合 SGS 检测机构与美妆…

2025 年 11 月富勒烯精华液,抗衰老精华液,抗氧化精华液厂家最新推荐,精准检测与稳定性能深度解析

据中国美妆供应链协会 2025 年 11 月发布的《功效型精华液产业报告》显示,富勒烯、抗衰老、抗氧化类精华液市场需求同比激增 42%,但 45% 的品牌方反馈合作厂家存在功效稳定性不足、活性成分流失等问题。为解决这一痛…

2025 年 11 月云南环保咨询,云南环评报告咨询,云南环评手续咨询最新推荐:精准检测与稳定性能深度解析

为破解云南企业在环保服务中 “检测数据失真、报告质量波动、手续办理断层” 的难题,云南省环境保护产业协会联合省环境监测中心开展 2025 年度专项测评,覆盖全省 239 家咨询机构,最终筛选出 5 家检测精准、服务稳定…

2025 年 11 月云南环评资质咨询,云南环评批复咨询,云南环评手续咨询最新推荐:榜单透视与选购要点

为帮助云南企业精准识别环评服务机构实力,避开 “资质失效、批复拖延、手续繁琐” 等采购陷阱,云南省环境保护产业协会联合省政务服务管理局开展 2025 年度专项测评,覆盖全省 247 家咨询机构,最终形成 5 强推荐榜单…

2025 年 11 月云南环保咨询,云南环评报告咨询,云南环评手续咨询最新推荐:聚焦高端定制需求与全案交付能力

为满足云南企业在环保服务中 “个性化方案少、全流程衔接弱” 的痛点,云南省环境保护产业协会联合省环境科学研究院开展 2025 年度专项测评,覆盖全省 251 家咨询机构,最终筛选出 5 家在高端定制与全案交付上表现突出…

2025年11月上海装修公司排行榜:十强服务与性价比全面对比

在上海,装修一套房子往往意味着半年以上的精力投入:跑工地、对报价、盯材料、防增项,还要在“设计图好看”与“预算能扛”之间反复权衡。2025年三季度上海市消保委发布的《住宅装饰装修消费体察报告》显示,样本中仍…

2025年11月上海装修公司口碑榜:千州领衔全维度对比评测

站在交房钥匙与装修合同之间,多数上海业主的第一道焦虑是“到底把家交给谁”。市区老房改造担心增项陷阱,松江新房精装又怕工期拖延,预算从硬装到软装层层加码,加上2025年三季度上海住宅装修产值同比再涨7.4%,市场…