潘多拉STM32L4 96 IoT开发板(HAL库) 3.添加蜂鸣器驱动

[deprecated]第四章:TTM分析: 4.2.1 存储分配ttm_bo_validate功能实现分析 ttm_bo_validate是TTM框架中负责验证和调整BufferObject物理内存分配的核心函数,主要用于显存管理。该函数通过placement参数判断BO是否需要迁移或重新分配资源,完成内存分配、迁移及缓存策略调整等操作。实现流程包括资源释放、兼容性检查、迁移保护、新资源分配、迁移实现等步骤,支持多跳迁移和临时缓冲区。典型应用于显存溢出迁移、缓存策略调整、驱动初始化等场景,确保BO始终处于预期状态。 阅读详情

学习目标:

  • 掌握 蜂鸣器用法

学习内容:

  1. 搭建 STM32cubeMX环境
  2. 绑定并配置BEEP引脚
  3. 掌握BEEP控制条件语句

学习时间:

2026.1.5


工程搭建:

1.选中PB2引脚,设置GPIO为GPIO_Output,其余选项用缺省值即可。保存进入keil,对蜂鸣器进行编程。

2.保存进入keil,对蜂鸣器进行编程。

3.编译运行结果:每隔1000ms蜂鸣器发声一次(持续500ms)。

python代码实现了一个基于图注意力网络(GAT)和长短期记忆网络(LSTM)的股票成交量预测模型 自定义数据集类:定义了类,继承自。该类用于生成股票数据的时间序列样本,每个样本包含一个长度为seq_length的时间序列和对应的目标成交量。数据加载器:使用DataLoader对数据集进行批量加载,设置批量大小为 64,并开启数据打乱功能。GAT - LSTM 模型:定义了GAT_LSTM类,继承自。该模型结合了 GAT 和 LSTM 两种神经网络:GAT 部分:使用GATConv处理全局图特征,捕获股票之间的相互关系。LSTM 部分:使用nn.LSTM处理时间序列数据,捕捉时间序列的动态变化。 阅读详情

相关推荐

LeGO-LOAM运行kitti数据集

文章目录1. kitti-lego-loam2. 改动3. 实验结果4. evo轨迹测评 1. kitti-lego-loam 链接:kitti-lego-loam kitti-lego-loam提供了将kitti序列转化成rosbag的代码,在kittibag中. 需要注意下数据文件的存放顺序,以00序列为例: datafolder          |____results          &

Zlp19970106的博客 8705

STM32CUBEIDE配置RTC的时钟唤醒功能和闹钟(Calendar&Alarm)

本文演示了如何使用工具STM32CubeMX和STM32CubeIDE来完成RTC的日历时钟以及闹钟。

nihao_mint的博客 2214

“三进制”bonsai27b+NInfer=6g显存闪电侠(token真的自由了!)

本文将1.58-bit三元大模型Bonsai27B成功移植至NInfer推理引擎,并在RTX 4080 SUPER上实现100+ token/s的极速推理。通过自研补丁扩展NInfer支持Ada架构与三元量化格式,解决激活布局、行置换等关键bug,实测PPL 6.445,单流吞吐达96.7–130.8 t/s,20题基准得分16/20。附完整复现包(含文档、工具、源码补丁),零权重分发,助力垃圾显卡跑通27B级模型。

shensanshu的博客 1万+

复位 stm32_【电子干货268】STM32上电后不复位不工作问题分析及解决

STM32上电后不复位不工作问题分析及解决问题描述:最近做了一个项目,硬件由SMT32最小系统+DC/DC开关电源+2MHz信号驱动+运放放大及比较电路组成;设计过程中,因电源处理不当,出现干扰,导致在上电后SMT32时而可以工作,时而不能复位不可以工作。问题原因:最主要的原因就是电源不干净,有干扰。次要原因就是电源干扰不大,但布线不合理;这次我的问题就出在此,这会导致MCU上电不工作小...

weixin_29269441的博客 5052

用GraphPad Prism直出单细胞亚群堆叠柱状图

用GraphPad Prism直出单细胞亚群堆叠柱状图

fivehuge的博客 4197

从网格剖分到结果外推:一文拆解HFSS快速扫频(Fast Sweep)的底层逻辑与性能调优

本文深入解析了HFSS快速扫频(Fast Sweep)技术的底层逻辑与性能调优方法。通过ALPS算法实现频带外推,快速扫频相比离散扫频和插值扫频能提升3-5倍计算效率,特别适用于天线阵列、微波滤波器等宽频带分析场景。文章详细介绍了算法架构、参数优化策略及工程实践中的精度保障机制,帮助工程师高效完成电磁仿真。

weixin_28693447的博客 94

STM32 keil下载程序后不自动运行程序,必须复位(或重新上电)一下才可以运行

1,MDK5.28 软件已经勾选reset and run 2、去掉enable 解决办法:

jiekaile的博客 1万+

2025东三省D题深圳杯数学建模实战解析:基于多模型融合的法医STR混合样本智能识别系统

本文深入解析了2025年东三省数学建模竞赛D题,即深圳杯赛题,聚焦于法医STR混合样本的智能识别挑战。文章系统阐述了构建一个基于多模型融合的智能识别系统的完整流程,涵盖贡献者人数判定、DNA贡献比例估计、个体基因型推断以及STR谱图去噪四大核心步骤。通过融合高斯混合模型、随机森林、非负矩阵分解、小波变换与深度学习等多种技术,并强调特征工程的重要性,为破解法医DNA混合样本分析这一行业难题提供了清晰的数学建模与AI实战思路。

weixin_29050271的博客 392

关于STM32上电后不自动运行程序,需要按一下复位才运行。

FRAM在上电后也要进行一些内部初始化,所以在上电之后很快就对它进行操作,它可能还没有“准备好”,所以会出现有时出错的情况。一定延时之后,FRAM初始化完毕,再进行操作就不会错了。

wevsa的专栏 2万+

从ESP/ABS选型看轮速传感器:为什么你的车用了AK+PWM+7/14mA三种协议?

本文深入解析了汽车轮速传感器的三种主流协议(7/14mA电流型、PWM型和AK协议型)及其混合应用场景。通过对比不同协议的技术特点、成本效益和工程挑战,揭示了现代车辆采用多种传感器协议背后的设计逻辑,包括成本控制、性能平衡和冗余设计等关键因素。

weixin_29266679的博客 534

DO-254标准详解:航空电子硬件设计保证指南全方位解析

RTCA DO-254, 也被称为《机载电子硬件设计保证指南》,是航空电子硬件设计和验证中的关键标准,旨在为确保机载电子硬件的安全性提供设计保证。自2000年首次发布以来,DO-254就成为了民航和军用飞机中电子硬件设计认证的基准文件。随着航空硬件技术的进步和日益复杂化,确保硬件设计的准确性、可靠性和安全性变得至关重要。本标准是由RTCA和EUROCAE共同开发的,适用于涉及机载硬件的航空公司、飞机制造商、供应商和认证机构。

qq_41854911的博客 3682

潘多拉STM32L4 96 IoT开发板(HAL库) 1.点亮三色RGB

6.进入Project Manager对文件名称,文件位置进行保存,生成初始文件并自动跳转到keil。按照下图对三个引脚的GPIO进行配置。4.根据芯片原理图找到RGB灯的引脚分别为PE7、PE8、PE9。8.编译文件并下载到开发板上,以下是运行效果图。1.启动stm32cubeMX,创建工程。设置GPIO为output。3.修改时钟配置,修改时钟为外部时钟。2.搜索stm32L496 芯片。

Dodger_code的博客 417

【数字IC验证进阶】正则表达式(Regular Expression)快速入门指南

在芯片开发过程中,正则表达式的使用非常常见。初次上手晦涩难懂,多用几次爱不释手!

悟已往之不谏 知来者之可追 1442

潘多拉STM32L4 96 IoT开发板(HAL库) 4.按键输入实验

本文介绍了通过按键控制开发板功能的学习过程。主要内容包括:1)根据原理图确定按键引脚配置,区分上拉/下拉输入的电平状态;2)编程实现四个按键功能(KEY0控制红灯、KEY1控制绿灯、KEY2控制蓝灯、WK_UP控制蜂鸣器状态翻转);3)编写按键扫描函数KEY_Scan()并完成程序烧录。学习时间为2026年1月6日,最终实现了通过按键控制RGB灯和蜂鸣器状态反转的功能。

Dodger_code的博客 580

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【STM32】 ADC 完全指南:从模拟信号采样量化到五大架构原理

本文系统介绍ADC核心概念与五大主流架构。模拟信号具时间与幅值连续性,需经采样(满足奈奎斯特准则防混叠)、量化(引入±1/2LSB误差,SNR≈6.02N+1.76dB)、编码三步转为数字信号。重点解析Flash(并行高速但受限于比较器数量)、SAR(逐次逼近,低功耗适合MCU如STM32)、双积分(高精度抗工频,用于万用表)、流水线(高速吞吐)及Σ-Δ(高分辨率,靠过采样与噪声整形)五类架构原理、优缺点与应用场景。强调分辨率≠精度,选型本质是速度、精度、功耗与面积的权衡。

专注后端与底层技术,分享实战干货与学习笔记,梦想进入字节跳动,步履不停,热爱不止。 520

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

嵌入式:2.STM32底层基础(存储、寄存器、时钟、总线、GPIO、寄存器点灯)

存储系统用来存放程序、数据、设备状态,核心三大作用:存放程序代码、保存运行时数据(全局、局部、栈、堆)、数据持久化(比如W25Q64 Flash,可以搭配文件系统)。

2401_86731574的博客 377

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

从寄存器层面重学STM32(7)——定时器理论

本文系统梳理了STM32定时器的架构与工作原理,以时基单元为核心,涵盖计数模式、预分频、影子寄存器及定时周期计算。重点解析输出比较(PWM生成)与输入捕获(脉冲测量)机制,阐明CCR与CNT比较逻辑及波形生成流程。深入探讨通用定时器的从模式(如编码器、触发、门控等)与主模式(TRGO同步),明确主从定时器间信号传递关系。结合寄存器配置(CR1、SMCR、CCMR、CCER等),总结定时器在中断、DMA、PWM输出、信号捕获中的应用,实现精准定时与事件控制。

2403_88517351的博客 334

【官方原创】LAT1721 使用STM32CubeIDE 调试STM32N6 XIP应用的一种方法

本文我们以STM32Cube_FW_N6_V1.3.0包中Template_FSBL_XIP为例,介绍一种使用STM32CubeIDE在DEV模式下直接调试应用的方法,不需要切换Boot模式。

2501_92678806的博客 601

CubeMX+STM32】SD卡U盘实现__USB+FATFS (F103 篇)

即回复USB主机的询问:“你这个存储设备有多大?如果不想有弹窗,可以随便指定一个空闲的引脚,这样在生成时就不会弹警告了,但是需要在生成的工程代码里,注释掉引脚检测功能。当不指定检测引脚,在最后生成工程时,会有弹窗警告,不用管它,到时点击Yes即可,将会正常生成工程,代码上不会有任何影响。不推荐 Yes,因为它将针对已使能的SDIO、USB进行必须值的配置,而已设置好的系统时钟,将会被修改成其它值。这个文件,CubeMX已生成了需要用到的接口空函数,目的是为了把USB大容量类的通信与SD卡的读写挂钩起来。

qq_49053936的博客 215

STM32——GPIO篇

本文系统讲解STM32F103 GPIO的原理与应用,涵盖概念、电气特性、推挽/开漏输出、寄存器控制及输入模式。重点解析了GPIO与引脚的关系、钳位保护、MOS管工作原理、寄存器配置(CRL/CRH、ODR、BSRR等)、上下拉输入及施密特触发器的作用,构建从硬件到软件的完整知识体系,助力深入理解嵌入式开发中的核心外设机制。

wiketsy的博客 256

HAL库之GPIO(STM32 HAL库学习笔记)

本文系统讲解STM32 HAL库下GPIO的使用,涵盖引脚分布、复用与重映射、四种输出(推挽/开漏)及输入模式,结合闪灯与按钮实验,阐明配置流程。强调通过CubeMX生成工程后,在USERCODE区域编写代码,避免被覆盖;推挽输出适合驱动LED,开漏需外接上拉;输入模式依信号特性选上拉/下拉或浮空。掌握基础后可拓展至中断、PWM等高级应用。

xiaolitongxue222的博客 273

STM32 电流采样为什么在开关沿抖:低边电阻、PWM 触发与 ADC 窗口

给 F103 驱动板加电流环时,采样值总在开关沿乱跳,改 PID 和加滤波都没用。这篇从示波器波形讲起,说明低边采样电阻、运放、PWM 触发与 ADC 注入组怎样对齐,以及采样窗口和 RC 滤波为什么不能互相替代。

Sakura_j_h_的博客 181

STM32移植FreeRTOS(Cmake+CubeMX)

说明:基于STM32F103C8T6最小系统开发板。

2402_84642203的博客 182

【STM32+MAX4466】音频采集与FFT频谱OLED效果呈现

本文聚焦STM32平台基于MAX4466麦克风的音频FFT频谱OLED显示项目,结合CMSIS-DSP库核心函数特性,梳理从ADC采集、去直流到幅值计算的全流程要点,为嵌入式音频可视化开发提供清晰实用的入门指引。本项目以STM32微控制器为核心,借助CMSIS-DSP库的FFT函数,通过麦克风模块完成音频信号采集,经基4 FFT算法完成频谱运算,将校准后的音频幅值呈现在OLED显示屏上。本项目采用基4傅里叶变换算法,因此FFT变换点数必须满足4的N次幂。

YouziTech的博客 255

基于 STM32 的风力电站风速风向监测系统(Proteus 仿真)

本文设计了一款基于 STM32F103C8T6 的风力电站风速风向监测系统,采用 PCF8591 实现模拟信号采集,OLED 实时显示风速、风向与报警阈值,支持按键修改阈值,串口上传监测数据,在 Proteus 中完成仿真验证,可作为嵌入式学习、风电监测类课程设计参考方案。

m0_74821307的博客 196

STM32低功耗:休眠3mA降到2μA六步复盘

做电池供电的设备,最怕的不是跑得快,是睡着的时候还在偷偷耗电。我们给客户做的 TMR 隧道磁阻流量计,要求一节 3.6V 锂亚电池(8500mAh)至少撑 6 年。第一版板子打样回来一测休眠电流,3mA——按这个数算,电池四个月就见底。后来一个环节一个环节地抠,最后把休眠电流压到约 2μA,加上唤醒时的平均电流,整体约 3μA。这篇不讲空道理,就把从 3mA 到 2μA 的六步复盘出来,顺带说说哪几个坑最费时间。

qq_40170041的博客 224
上一篇: 潘多拉STM32L4 96 IoT开发板(HAL库) 2.串口通信实验
下一篇: 潘多拉STM32L4 96 IoT开发板(HAL库) 4.按键输入实验
硅基造物主
博客等级 码龄4年 17粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值