本测试基于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. AtCoder Beginner Contest 182 Person Editorial

    Problem A - twiblr 直接输出 \(2A + 100 - B\) Problem B - Almost GCD 这里暴力枚举即可 int main() { ios_base::sync ...

  2. C# 绘制面形图

    图形要素:4个点.颜色.作图对象.数据 Graphics g;//创建Graphics对象 private void button1_Click(object sender, EventArgs e) ...

  3. Ubuntu22.04上使用systemctl命令配置开机自启动服务、脚本、命令

    systemctl介绍 systemctl是Linux系统上用于管理系统服务(systemd单元)的命令行工具.它可以用来启动.停止.重启.禁用.启用.查询和管理系统服务的状态. 以下是一些常用的sy ...

  4. python常见面试题讲解(十一)字符串反转-五种解法

    题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串.(字符串长度不超过1000) 输入描述: 输入N个字符 输出描述: 输出该字符串反转后的字符串 示例1 输入 abcd 输出 d ...

  5. Vue - 父子级的相互调用

    父级调用子级 父级: <script> this.$refs.child.load(); 或 this.$refs.one.load(); </script> 子级: < ...

  6. c# 编写 WebAssembly

    创建一个.net 7.0类库工程,引用下面的nuget包: <PackageReference Include="Microsoft.AspNetCore.Components.Web ...

  7. [转帖]查询 HTTPS 网站 TLS 版本

    参考 检查网站的TLS版本 – wentao's blog Linux curl 命令详解 - 腾讯云开发者社区-腾讯云 TLS 版本查询_天泽岁月的博客-CSDN博客_查看tls版本 使用 Open ...

  8. [转帖]TPC-C 、TPC-H和TPC-DS区别

    https://zhuanlan.zhihu.com/p/339886289 针对数据库不同的使用场景TPC组织发布了多项测试标准. TPC-C: TPC Benchmark C于1992年7月获得批 ...

  9. [转帖]JSR223控件简介

    JSR223控件简介 1.调用内置函数 2.执行外部java文件 3.执行jar包 JSR223取样器允许执行JSR223脚本代码用于创建/更新所需的某些变量. 由于JSR223脚本编译方式基本相同, ...

  10. [转帖]必看!PostgreSQL参数优化

    https://zhuanlan.zhihu.com/p/333201734 前不久,一个朋友所在的公司,业务人员整天都喊慢. 朋友是搞开发的,不是很懂DB,他说他们应用的其实没什么问题,但是就是每天 ...