本测试基于CH32V208W的开发板;蓝牙从机模式;使用程序BLE_UART

在进行功耗测试的时候尽量去除额外耗电器件,将开发板上的VDD于VIO相连接,测功耗时直接给VDD供电。

将会对500ms,1s,2s,5s广播间隔进行测试;

测试前对程序先进行修改:在工程配置处将HAL_SLEEP的宏的配置置为TRUE;

将GPIO配置为和休眠期间的外部电平接近的输入上拉/输入下拉,固定电平以减小漏电;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //enable clock
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //enable clock
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //enable clock
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); //enable clock
GPIO_InitTypeDef GPIO_InitStructure = {0}; //gpio init struct
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; //gpio pin
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //gpio mode
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //gpio speed
GPIO_Init(GPIOA, &GPIO_InitStructure); //gpio init
GPIO_Init(GPIOB, &GPIO_InitStructure); //gpio init
GPIO_Init(GPIOC, &GPIO_InitStructure); //gpio init
GPIO_Init(GPIOD, &GPIO_InitStructure); //gpio init

广播间隔及开关广播修改处:

// What is the advertising interval when device is discoverable (units of 625us, 80=50ms)
#define DEFAULT_ADVERTISING_INTERVAL 1600// 1600
修改此处的1600即可注意单位时间是625us,此时1600即为1s
uint8_t  initial_advertising_enable = TRUE;
GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t), &initial_advertising_enable);
此处为初始化广播的位置将TRUE改为FALSE就可以关闭广播了

对广播间隔为500ms时进行功耗测试:

对广播间隔为1s时进行功耗测试:

对广播间隔为2s时进行功耗测试:

对广播间隔为5s时进行功耗测试:

关闭广播进行测试:

功耗汇总表如下

注意事项:

CH32V208的在测功耗时:一般情况下是只要置1使能HAL_SLEEP宏,让协议栈管理休眠就好。

将不需要的TMOS事件循环关掉,关闭方法可以是直接注释掉相应的代码块,或者使用tmos_stop_task(),或者使用各种特定的方式关闭库中的循环,要看具体问题;

将GPIO配置为和休眠期间的外部电平接近的输入上拉/输入下拉,固定电平以减小漏电。

另附:
CH32V208的性能更为强大资源更为丰富;如果需要功耗表现更好的BLE系列MCU可以选择沁恒的CH592、CH582(这两款资源也较为丰富)。

CH32V208蓝牙从机sleep模式下功耗测试的更多相关文章

  1. Debug模式下,测试app后缀名“-测试”

    target-->buildsetting-->user-defined 新建一个和上图尖括号一样的字符 如下图: 在debug中填入后缀名,然后在debug模式下运行程序,会发现debu ...

  2. redis在物理机部署模式下如何进行资源[cpu、网卡]隔离

    上周末晚上运营做直播,业务代码不规范,访问1个redis竟然把1台服务器的网卡打满了,这台服务器上的其他redis服务都受到了影响.之前没有做这方面的预案,当时又没有空闲的机器可以迁移,在当时一点办法 ...

  3. win10的VMware虚机host-only模式下,虚拟机无法ping通物理机,而物理机能ping通虚机

    1.打开控制面板—->Windows防火墙(win10操作系统) 2.点击最上面的”允许应用或功能通过xxxxx” 3.勾上上图的“文件和打印机共享” 然后点确定.

  4. 24 | 紧跟时代步伐:微服务模式下API测试要怎么做?

  5. Fabric1.4 链码开发,开发模式下的测试

    关闭之前已启动的网络环境 sudo docker-compose -f docker-compose-cli.yaml down 进入devmode目录:  cd ~/go/src/github.co ...

  6. Ubuntu下virtualbox nat网络模式下 实现宿主机访问虚拟机

    参考原文(在windows环境下):http://hi.baidu.com/george_gly/item/5183b76e5a79e49ac5d2498b nat网络模式下,虚拟机可以访问外网.访问 ...

  7. x86架构:实模式下的中断

    https://www.cnblogs.com/Philip-Tell-Truth/p/5317983.html   这里有详细的过程说明.文字很多,为了方便阅读和理解,提炼了一些要点后归纳.整理了如 ...

  8. ASM:《X86汇编语言-从实模式到保护模式》第17章:保护模式下中断和异常的处理与抢占式多任务

    ★PART1:中断和异常概述 1. 中断(Interrupt) 中断包括硬件中断和软中断.硬件中断是由外围设备发出的中断信号引发的,以请求处理器提供服务.当I/O接口发出中断请求的时候,会被像8259 ...

  9. ASM:《X86汇编语言-从实模式到保护模式》第9章:实模式下中断机制和实时时钟

    中断是处理器一个非常重要的工作机制.第9章是讲中断在实模式下如何工作,第17章是讲中断在保护模式下如何工作. ★PART1:外部硬件中断 外部硬件中断是通过两个信号线引入处理器内部的,这两条线分别叫N ...

  10. Azure ARM (11) ARM模式下,创建虚拟机并配置负载均衡器

    <Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 在前几章中,我们做了准备工作: 1.创建ARM Resouce Group,叫Lei ...

随机推荐

  1. oracle表空间已满解决

    在日常的oralce使用中最长遇到的问题就是oralce的表空间满了,数据无法写入报错,这种情况下通常是磁盘没有足够的空间或者表空间的数据文件达到32G(linux最大限制单个文件不超过32G)无法继 ...

  2. rem在手机移动端app中的兼容适配问题

    这是我之前一直使用的第一种rem方案.贴代码 1 <script> 2 // 适用于750的设计稿 3 var iScale = 1; 4 // 通过页面加载的时候去获取用户设备的物理像素 ...

  3. 图片与Base64编码相互转换、优势分析和技术实现

    在Web开发中,图片与Base64编码的相互转换是一个非常实用的技能.图片 Base64编码是将图片文件转换为字符串格式,以便于在网络上传输和存储.本文将详细介绍图片与Base64编码的转换方法,以及 ...

  4. 基于Tensorflow技术开发的计算机毕业设计辅助生成器(使用AI大模型技术)

    这是一个辅助生成计算机毕业设计的工具,可以自动完成毕业设计的源码.它基于几百个github上面开源的java和python项目,运用tensorflow技术,训练出了AI大模型.基本实现了计算机毕业设 ...

  5. js - 使用 scroll属性手撸轮播图 —— 无缝连接,更丝滑

    上效果图: 上代码: <!DOCTYPE html> <html lang="en"> <head>     <meta charset= ...

  6. [转帖]【我和CloudQuery 的故事】安装部署CloudQuery 初体验—-前篇

    https://www.modb.pro/db/1694256553947910144 一.前言 在日常数据库运维中,为连接多种数据库,经常要安装不同的客户端,非常繁琐,且占用大量存储空间.如果能有一 ...

  7. [转帖]快速入门:在 Red Hat 上安装 SQL Server 并创建数据库

    https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux ...

  8. 银河麒麟上面 ntopng的安装与使用

    银河麒麟上面 ntopng的安装与使用 背景 一直想用Grafana监控网络流量 但是断断续续尝试了一周的时间都没有搞定. 发现这一块已经进入了瓶颈. 比较无奈的情况下回到了原来的iftop/iptr ...

  9. Redis监控方法之二

    Redis监控方法之二 背景 前期整理过使用 exporter + prometheus 方式进行Redis监控的搭建过程 最近给同事研究clickhouse时发现 clickhouse 有对应的pl ...

  10. [转帖]使用 Dumpling 导出数据

      16 Contributors 使用数据导出工具 Dumpling,你可以把存储在 TiDB 或 MySQL 中的数据导出为 SQL 或 CSV 格式,用于逻辑全量备份.Dumpling 也支持将 ...