STM32CubeMonitor数据记录避坑指南:从实时修改变量到CSV存储的完整链路

使用STM32CubeMonitor实时修改变量值 本文演示了使用STM32CubeMonitor实时修改变量值及存储数据的方法。在原有代码基础上,通过添加write panel控件实现对max和max1变量的动态修改,从而控制time_cnt和time_cnt1的计数上限。操作步骤包括:连接控件输入输出、配置变量组、设置目标变量,部署后通过界面直接修改数值并观察波形变化。此外,还展示了将time_cnt变量值保存为CSV文件的功能,通过single value控件筛选数据,写入文件控件指定存储路径。实验结果表明,该方法能有效实现运行时的变量修改和数据记录, 阅读详情

STM32CubeMonitor数据记录避坑指南:从实时修改变量到CSV存储的完整链路

在嵌入式开发,尤其是工业控制和物联网应用中,数据采集与记录是调试和系统状态监测的核心环节。STM32CubeMonitor作为ST官方推出的强大可视化工具,让开发者能够在不中断程序运行的情况下,实时观察、甚至动态调整微控制器内部的变量值,并将数据流保存到本地进行分析。这听起来非常理想,但当你真正着手将实时修改的变量值与连续的数据记录结合起来时,很可能会遇到一些意想不到的“坑”——比如你期望在CSV文件中看到变量time_cnt从0平滑递增到99,实际得到的却是一组看似随机跳变的数字序列。

这篇文章正是为那些对数据精度和连续性有严苛要求的开发者准备的。我们将不再停留在基础功能的演示上,而是深入STM32CubeMonitor的采样与记录机制内部,剖析从“实时修改变量”到“可靠存储CSV”这条链路上可能出现的断点。我们会结合具体的配置案例,解释数据为何会“丢帧”或“乱序”,并提供一套经过验证的配置策略与实操技巧,帮助你构建一个稳定、可靠的数据监测与记录系统,确保你从设备端获取的每一个数据点,都能真实、连续地呈现在你的分析报告中。

1. 理解STM32CubeMonitor的双重角色:监控器与记录仪

STM32CubeMonitor本质上扮演着两个角色:一个实时调试监控器和一个异步数据记录仪。理解这两者工作方式的差异,是避开所有数据记录陷阱的第一步。

作为监控器,它通过调试接口(如SWD/JTAG)与STM32芯片的调试单元通信,以极高的优先级“窥探”内存和寄存器的值。当你拖入一个Chart控件观察sin_value的波形,或者使用Write Panel修改max变量时,CubeMonitor是在进行一种按需、事件驱动的交互。你的每一次点击“读取”或“写入”,都会触发一次独立的调试访问。这种访问速度快,但它是离散的、非周期性的,其时机完全由你的UI操作或控件自身的刷新率决定。

而作为记录仪,当你配置了“写入文件”控件并指向time_cnt变量时,CubeMonitor试图建立一个周期性的、自动化的数据采样流水线。它期望以固定的时间间隔(比如每100毫秒)去读取目标变量的值,并写入CSV文件。问题在于,这条流水线的“节拍”受到诸多因素制约,并非运行在实时操作系统上,其稳定性容易被忽视。

一个常见的误解是认为监控的波形曲线和记录的CSV数据是同一数据源、同一频率的两种输出。实际上,它们可能来自两条并行但不同步的采集通道。Chart控件的渲染为了平滑和实时性,可能会应用插值算法或缓存机制,你看到的连续曲线可能是一系列高速但非均匀采样点经过处理的结果。而CSV记录器则更“老实”,它忠实地记录下每次成功采样到的原始值和时间戳(如果配置了的话),中间的任何一次采样失败或延迟都会在CSV文件中留下痕迹。

提示:在开始任何长期数据记录任务前,建议先在CubeMonitor中同时打开Chart和“写入文件”控件,进行短时间(如1分钟)的对比记录。观察波形显示的趋势与CSV文件中的数据序列是否在逻辑上一致,这是快速发现采样机制问题的有效方法。

2. 实时修改变量:原理、时机与副作用

实时修改变量是CubeMonitor的亮点功能,它允许我们在系统运行时动态调整算法参数、阈值或状态,极大提升了调试效率。以修改控制time_cnt循环上限的max变量为例,其背后是一系列精密的操作。

2.1 写入操作的内在机制

当你通过Write Panel将max的值从99改为66并点击“Write”时,CubeMonitor执行了以下步骤:

  1. 暂停目标CPU(或至少暂停相关内核的代码执行):这是通过调试接口发送特定命令实现的,以确保内存访问的安全性。
  2. 修改内存:CubeMonitor将新的数值(66)写入到变量max所在的准确内存地址。
  3. 恢复CPU运行:解除暂停,程序从暂停点继续执行。

这个过程非常快,但对于高速运行的微控制器而言,一次短暂的暂停也可能中断其正常的时序。例如,如果修改操作恰好发生在time_cnt与max进行比较的指令周期附近,可能会引发一次性的比较逻辑异常。

2.2 配置Write Panel的最佳实践

为了最小化写入操作对程序运行的干扰,需要对Write Panel进行细致配置:

  • 变量分组与写入模式:将需要联动修改的变量(如max和max1)放在同一个“Group”里。CubeMonitor支持对组内所有变量进行原子性写入。这意味着,当你点击写入时,组内所有变量的新值会被同时(在同一个调试访问事务中)更新到目标内存,避免了因分次写入导致的数据不一致窗口期。
  • 写入触发条件:除了手动点击,Write Panel可以配置为基于其他变量的值或Chart上的事件(如光标位置)自动触发。对于需要周期性调整参数的场景,这可以实现半自动化的控制。
// 示例:在代码中,time_cnt的清零逻辑依赖于max的瞬时值
if(time_cnt > max) {
    time_cnt = 0;
}
// 原子性写入确保了max的新值被完整更新,time_cnt在下一次比较时使用的是统一的新阈值。

2.3 实时修改对数据记录的影响

这是最容易被忽视的坑。当你修改了max,time_cnt的计数周期随之改变,这直接影响了time_cnt本身的变化规律。如果你的CSV记录器正在以固定频率采样time_cnt,那么在max被修改的瞬间,前后两段数据的统计特性(如最大值、变化率)已经不同。如果没有在CSV数据中同步记录max的值或者一个对应的时间戳/事件标记,后续的数据分析将变得极其困难,因为你无法从time_cnt的数据序列中直接反推出max是在哪个点被改变的。

因此,一个重要的建议是:凡是计划进行实时修改的“控制类”变量(如max, max1),都应该与它们所影响的“数据类”变量(如time_cnt, time_cnt1)一起被记录到CSV文件中。你可以通过配置多个“Single Value”控件和“写入文件”控件,或者使用能记录多个变量的高级记录控件来实现。

3. CSV数据记录不连续的根源分析与排查

文章开头提到的现象——time_cnt在代码中每次加1,但CSV中数值不连续——是CubeMonitor数据记录中最典型的问题。其根源并非软件缺陷,而在于对采样机制的理解不足。我们可以从以下几个层面进行排查:

3.1 采样率与系统负载

CubeMonitor的采样并非硬实时。它的采样周期受到以下因素影响:

  • PC端性能:CubeMonitor软件本身运行在Windows/Linux上,其定时器精度和线程调度受操作系统影响。如果PCCPU占用率高,采样线程可能被延迟。
  • 调试接口带宽:SWD/JTAG的通信速度有限。当同时监控多个变量、绘制复杂波形时,带宽竞争会导致个别采样点丢失。
  • 目标芯片调试状态:如果芯片因断点、单步调试等原因进入调试状态,会暂时阻塞CubeMonitor的访问。

为了评估采样稳定性,可以记录一个简单匀速变化的变量(如一个每毫秒加1的计数器),然后分析CSV文件中相邻数据点的时间差或数值差。理想情况下,数值差应恒定,时间差应接近你设定的采样周期。

3.2 “Single Value”与“写入文件”控件的配置陷阱

  • 变量名与作用域:确保“Single Value”控件中填写的变量名(如time_cnt)与代码中完全一致,且其作用域(全局变量)在监控期间始终有效。对于局部变量或优化后被寄存的变量,CubeMonitor可能无法可靠访问。
  • 文件写入缓冲:CubeMonitor的“写入文件”控件可能使用了缓冲区。在记录突然停止或软件异常关闭时,缓冲区中的数据可能未来得及写入磁盘,造成最后一部分数据丢失。虽然CubeMonitor本身可能不提供直接刷新缓冲区的选项,但可以通过定期停止并重启记录来分段保存文件,以降低风险。
  • 采样模式选择:有些数据记录控件可能提供“按变化采样”或“定时采样”模式。“按变化采样”只在变量值改变时记录,对于time_cnt这种持续变化的变量是合适的。但如果误选为“定时采样”,且采样间隔大于time_cnt的变化周期,就会丢失大量中间值,表现为数据不连续。

3.3 同步问题:数据产生 vs. 数据采集

这是最核心的矛盾。假设你的time_cnt在while(1)循环中每50毫秒加1(由delay_ms(50)决定),那么它的更新频率是20 Hz。如果你设置CubeMonitor的采样率为10 Hz(每100毫秒采一次),理论上你能采到一半的数据点,数值序列可能是0, 2, 4, 6... 这看起来是“连续”的偶数序列。但如果采样率也是20 Hz,由于软件定时误差和系统延迟,采样点可能时而与time_cnt更新同步,时而错位,导致采到的值有时连续,有时重复,看起来就是“不连续”。

更复杂的情况是,当你通过Write Panel修改max时,CubeMonitor的调试访问会短暂占用调试接口,这可能正好导致一次对time_cnt的采样被跳过或延迟。

问题现象可能原因排查与解决思路
CSV数据点间隔不均匀,时密时疏PC系统负载波动,调试带宽竞争关闭不必要的PC程序;减少同时监控的变量数量;尝试提高采样间隔。
数据值出现不应有的重复或跳跃采样时刻与变量更新时刻不同步,或变量被优化检查编译器优化等级,尝试降低优化(如-O0);在代码中为关键变量添加volatile关键字。
修改控制变量后,数据记录出现一段混乱写入操作干扰了采样时序将控制变量与数据变量同步记录;考虑在代码中增加“事件标志”,修改max后置位一个标志,并将此标志也纳入记录。
记录文件末尾数据丢失文件写入缓冲未刷新定期手动停止并重启记录;使用脚本控制CubeMonitor,在结束记录后执行文件同步命令。

4. 构建高可靠性数据记录链路的配置建议

基于以上分析,要获得连续、可靠的数据记录,你需要从系统层面进行设计和配置。

4.1 硬件与连接优化

  • 使用高速调试器:优先选择ST-LINK V3或性能相当的第三方调试器,它们提供更高的SWD通信速率。
  • 缩短连接线:确保调试器与目标板之间的连接线尽可能短,质量良好,以减少信号完整性问题和通信错误。
  • 目标板供电稳定:不稳定的电源可能导致调试连接中断,从而丢失数据。

4.2 CubeMonitor软件配置策略

  1. 精简监控面板:在需要长时间记录数据的会话中,关闭所有不必要的Chart、Gauge等可视化控件。每个控件都会占用调试带宽和PC资源。只保留最必须的Write Panel和记录文件控件。
  2. 合理设置采样率:不要盲目追求高采样率。根据奈奎斯特采样定理,采样率至少是信号最高频率的2倍。对于time_cnt(20 Hz更新),40-50 Hz的采样率已足够。过高的采样率会增加系统负担,反而可能导致丢包。在CubeMonitor的“写入文件”或相关控件设置中寻找采样间隔配置项。
  3. 启用时间戳:如果“写入文件”控件支持添加时间戳,务必启用。这会在每行数据前添加一个PC系统时间戳。当数据不连续时,通过分析时间戳的间隔,你可以准确判断是采样丢失(时间间隔突然变大)还是变量值未变化(时间间隔均匀但值不变)。
  4. 结构化记录文件:不要只记录原始数据。利用CSV格式,将时间戳、控制变量(max, max1)、数据变量(time_cnt, time_cnt1, sin_value)一并记录。这样每一行数据都是一个完整的状态快照。

示例CSV文件结构:

timestamp_ms, max, max1, time_cnt, time_cnt1, sin_value
1725432100123, 99, 199, 45, 123, 32
1725432100223, 99, 199, 46, 124, 35
1725432100325, 66, 199, 47, 125, 38  // 此行之后max已改为66
1725432100423, 66, 199, 0, 126, 41   // time_cnt因max=66而清零

4.3 固件代码侧的辅助措施

有时,仅靠工具配置无法解决根本问题,需要在嵌入式代码中增加一些“脚手架”。

  • 强制内存访问:对需要监控和记录的关键全局变量,使用volatile关键字声明。这告诉编译器不要对这些变量进行激进的优化(如缓存到寄存器),确保每次CubeMonitor读取时都能获得内存中最新的值。
    volatile int max = 99;
    volatile int time_cnt = 0;
    
  • 提供专用的调试数据缓冲区:对于采样率要求极高的数据,可以考虑在芯片内存中开辟一个环形缓冲区。应用程序以稳定的频率将数据写入缓冲区,而CubeMonitor则以稍低的频率从缓冲区中读取数据块。这可以缓解实时采样带来的时序压力。
  • 标记重要事件:当发生关键操作(如修改max)时,除了修改变量本身,还可以将一个“事件计数器”加一,并将此计数器也作为变量暴露给CubeMonitor进行记录。在分析数据时,通过事件计数器的跳变点,可以轻松定位参数变更的时刻。

5. 进阶技巧:自动化脚本与外部工具联动

对于需要无人值守、长期数据记录的场景,手动操作CubeMonitor界面是不现实的。此时,可以利用其命令行接口或通过外部脚本控制。

5.1 使用命令行部署与启动

STM32CubeMonitor通常提供命令行工具(如STM32CubeMonitor.exe或stm32cubemonitor),允许你通过脚本加载一个预先配置好的监控面板文件(.stm32cubemonitor)并开始数据记录。你可以编写一个批处理脚本或Python脚本,在系统启动时自动执行这一过程。

# 假设的示例(请根据实际安装路径和可执行文件名调整)
"C:\Program Files\STMicroelectronics\STM32CubeMonitor\STM32CubeMonitor.exe" -run "C:\MyProject\data_logging_config.stm32cubemonitor"

5.2 数据文件的后期处理与验证

即使从CubeMonitor获得了CSV文件,也需要进行后期处理来验证数据质量。

  • 完整性检查:编写一个小脚本,计算记录的时间跨度内应有的数据点数(采样率 * 时间),并与实际CSV文件中的行数进行比较。如果丢失率超过可接受范围(如>1%),就需要回头检查硬件连接和配置。
  • 逻辑一致性校验:对于time_cnt这类有明确逻辑的变量(递增至max后清零),可以用脚本遍历CSV数据,验证其变化是否符合代码定义的规则。任何违反规则的数据点都标志着可能发生了严重的采样错误或内存访问冲突。
  • 与可视化工具集成:将CSV数据导入到更专业的数据分析工具(如Python的Pandas+Matplotlib, MATLAB或Excel)中绘制曲线,并与CubeMonitor实时显示的波形进行对比。这种离线分析往往能揭示出在实时监控中难以察觉的细节问题。

我在一个电机控制项目的调试中就曾依赖这套方法。当时需要记录电机转速和电流环参数,参数需要在线调整。最初CSV数据总是出现诡异的跳变,通过添加时间戳和同步记录所有控制参数,最终发现跳变点总是对应着一次参数修改操作。进一步分析发现,是参数写入后的几个采样周期内,电流采样ADC的读取受到了干扰。通过在代码中在参数修改后插入几个空循环来延迟关键数据的采样,成功消除了这个问题。这个经历让我深刻体会到,可靠的数据链路不仅仅是工具配置,更是对系统全链路时序的深刻理解和精心设计。

使用STM32CubeMonitor仪表显示功能 本文介绍了如何使用STM32CubeMonitor实现变量数据的仪表盘可视化监控。通过STM32代码生成三个测试变量:两个线性递增变量(time_cnt和time_cnt1)和一个正弦变量(sin_value),详细演示了在CubeMonitor中配置仪表(gauge)和文本(text)显示模块的方法。文章包含完整的配置步骤:从变量添加、模块布局调整到显示效果优化,最终实现了波形曲线与仪表盘的协同显示。通过调整模块尺寸和布局,获得了清晰直观的监控界面,为嵌入式系统实时数据可视化提供了实用参考方案。 阅读详情

相关推荐

STM32CubeMonitor 从零部署到实战:一站式配置与核心功能解析

本文详细介绍了STM32CubeMonitor的下载、安装与核心功能应用,帮助开发者快速实现嵌入式项目的实时数据监控。从环境准备到实战配置,涵盖Windows/Linux系统下的安装技巧、仪表板搭建及多设备监控方案,特别适合需要非侵入式调试的STM32开发者。文章还提供了常见问题解决方案和效率提升技巧,助力提升开发效率。

weixin_28692153的博客 439

【STM32】高效开发工具CubeMonitor快速上手

工欲善其事必先利其器。拥有一个辅助测试工具,能极大提高开发项目的效率。STM32CubeMonitor系列工具能够实时读取和呈现其变量,从而在运行时帮助微调和诊断STM32应用,类似于一个简单的示波器。它是一款基于流程的图形化编程工具,类似于LabView或者是Simulink。

科昂的博客 6319

使用STM32CubeMonitor实时监控变量曲线

STM32CubeMonitor实时变量观测指南 摘要:本文介绍使用ST官方工具STM32CubeMonitor实时观测单片机变量的方法。首先从官网下载安装软件,配置工程路径并选择.axf文件,添加需要观测的变量。通过ST-LINK连接硬件后,在Dashboard界面启动波形显示,可调整时间轴范围(默认10秒可改为100秒)。演示了同时观测两个变量(自增和自减变量)的方法,并提醒修改程序时需先停止波形显示再下载,避免ST-LINK连接失败。该工具为STM32调试提供了便捷的实时数据可视化方案。

HXYDJ的博客 1372

STM32CubeMonitor使用教程

STM32CubeMonitor系列工具能够实时读取和呈现其变量,从而在运行时帮助微调和诊断STM32应用。除了专业版本以外(电源、RF、USB-PD),多功能的STM32CubeMonitor还提供基于流量的图形化编辑器,以便轻松构建自定义操作面板和快速添加小部件,如计量、条形图和图表。借助非介入式监控,STM32CubeMonitor可保留应用的实时行为,并完美补充了执行应用分析的传统调试工具。.........

碧海蓝天的博客 2462

别再到处找了!STM32CubeMX、IDE、Programmer、Monitor全套工具下载安装与配置避坑指南

本文提供STM32Cube全家桶(STM32CubeMX、STM32CubeIDE、STM32CubeProgrammer、STM32CubeMonitor)的完整下载安装与配置指南,帮助开发者高效搭建STM32开发环境。从环境准备到工具链联动测试,详细解析安装雷区、优化技巧及常见故障排除,助您快速上手STM32开发。

weixin_26854829的博客 295

STM32CubeMonitor使用记录

STM32CubeMonitor是一款多功能监控工具,支持实时变量读写和可视化分析,可辅助STM32应用调试。它提供图形化编辑器构建操作面板,通过ST-LINK连接设备,支持RAM数据交互、多设备监控及远程显示(PC/平板/手机)。功能包括数据记录回放、自定义可视化组件(图表/仪表等)、触发器配置,兼容Windows/Linux/macOS系统,并集成Node-RED扩展生态。该工具以非侵入方式补充传统调试手段,适用于动态诊断和性能优化场景。

亦有啊哈的博客 532

CubeMonitor监测STM32变量并导出数据为CSV文件&elf文件的生成

CubeMonitor1.6.0无法使用。搞了一天,最后卸载,考虑到可能是JAVA环境的问题,重新安装JAVA环境,然后安装1.5.0版本,一切就正常起来了。后来想想应该是JAVA环境的问题,因为前段时间重装系统了。最近在做电机观测器,发现白噪声比较严重,想着把数据导出来看一下,方便后续对处理后数据的观测。CubeMonitor的监测效果如下总的流程图很简单,只是检测变量的话只需要配置方框中的组件,非常方便,也可通过添加其他组件导出数据。有点像Qt的组件,通过拖拽组件编译生成一个UI界面。

Kongbobo39的博客 4459

STM32CubeMonitor实战:如何实时修改变量值控制波形频率(附完整配置流程)

本文详细介绍了使用STM32CubeMonitor进行实时调试的实战方法,重点演示了如何通过其Write Panel功能实时修改变量值,动态控制正弦波生成频率。文章提供了从环境搭建、代码关键修改到数据流构建的完整配置流程,并深入探讨了实时变量修改的原理、时序影响及采样率优化等高级技巧,帮助嵌入式开发者实现高效的交互式参数调优与系统调试。

weixin_29159711的博客 214

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

strongerHuang 2万+

STM32CubeMonitor的使用第二部分-历史数据存储以及网络访问

上一篇已经简要的说明了STM32CubeMonitor如何将数据通过历史数据图和仪表盘进行组态测试,所以这次要做的是将检测到的数据转为CSV文件存储,作为数据记录。并实现局域网内的网络访问。

ASWaterbenben的博客 2687

CubeMonitor+STM32配置可视化调试界面

使用CubeMonitor来进行调试可以将变量值以可视化的形式展现出来,下面展示一个全套配置流程。最终可以实现正常数据监视+不用重新烧录在CubeMonitor中直接更改参数,调PID或者一切需要展示数据的调试用起来都非常省时省力。

qq_58165107的博客 2601

STM32应用笔记: 使用STM32CubeMonitor实时监测变量

原文:https://zhuanlan.zhihu.com/p/138339830 使用STM32做机器人相关的应用,很经常遇到的一个情况就是希望能够实时的观察单片机中的变量,从而更直观的判断数据或算法的正确性,例如使用STM32+IMU做小车或无人机的姿态估计。 一个被广泛使用的方法是利用串口:串口数据输出到PC->在PC端接收或存储数据->进一步的数据处理及可视化。你还可以利用JLink的RTT功能把数据输出到PC,从而避免额外配置和占用STM32的一个串口,更进一步你可以直接使用JSc

xingsongyu的博客 3436

1.毫米波雷达心率、呼吸原理实现(一)实例

毫米波雷达心率、呼吸检测原理本项目分两到三篇文章写完,第一阶段借鉴TI开源项目以及根据自己的见解适当更改信号处理链通过AWR1843汽车雷达传感器和DCA1000采集卡采集数据完成人体呼吸和心跳检测算法的实现。第二阶段将仿真成功的代码搬移TIAWR1843传感器并通过串口数据实现生命体征的实时处理。本文即为第一阶段实现过程。本文首先概述毫米波雷达呼吸心跳检测的原理,紧接着概述本项目信号处理流程,另外本项目第一阶段通过matlab仿真验证算法的有效性,仿真源码可关注小编并私信可取。1.概述。

Poulen的博客 2万+

STM32调试诊断工具 | STM32CubeMonitor介绍、下载、安装和使用教程

视频号 | strongerHuang微信公众号|strongerHuang在2020年3月,ST官网上线了一款相对更强大的工具:STM32CubeMonitor。它的出现是为了替代之...

strongerHuang 7209

Vue项目实战:5分钟搞定高德地图离线部署(附避坑指南)

本文详细介绍了在Vue项目中实现高德地图离线部署的完整方案。针对内网或网络隔离环境,通过获取并改造JSAPI文件、下载组织地图瓦片数据,并集成vue-amap组件,实现地图功能的本地化运行。文中提供了核心代码、避坑指南及性能优化建议,帮助开发者快速构建稳定可靠的离线地图应用。

data3的博客 936

C#连接数据库报Authentication to host ‘127.0.0.1‘ for user ‘root‘ using method ‘caching_sha2_password‘ fail

所以导致的,除了上边的办法,还可以把这个加密规则修改一下,这个的修改方式有很多,具体原因是因为MySQL8.0以前的加密规则是。

weixin_42209881的博客 4131

java rails_从Rails到Clojure,再到Java,再回到Rails

java rails 在过去的6年中,我一直在Rails,Clojure, Java和Back to Rails的Web应用程序上工作。 这是对过去几年的概述,使用这种不同技术堆栈的好处以及它的缺点。 我从事的语言和项目概述 这是Rails 2.3中的一个大项目。 是典型的Rails整体控制已失控。 它具有+ 1K端点,并使用了大量宝石。 由于依赖关系,实际上是不可能升级的。 在某...

编程故事的地方 204

同济土木非0基础三个月跨考复旦计算机攻略

跨考cs攻略前言我cs专业课如何复习How to start from zero简历其他复试 前言 建议多去工地/化工厂涡轮增压一下 我 同济土木gpa 3.2/5 挂科 * n 辣鸡项目 * n (padding 简历) 21考复旦计算机专硕 10月-12月 学习+复习 总分392 政治 68;背肖4即可 英语二 78 裸考,(高考英语140+);做点真题,建议据自己情况准备 数学二 142 ;(高考数学接近满分);做真题+模拟题,每天写一张试卷 专业课 104 ,考试生病了,下文展开。 cs专业课

piglake的博客 7238

STM32CubeIDE(STM32CubeMonitor)

STM32CubeMonitor 是意法半导体(STMicroelectronics)推出的一款强大的开发辅助工具,旨在帮助用户在运行时监控和调试STM32微控制器的应用程序。它是STM32Cube软件生态系统的一部分,用于替代早前的STM Studio工具。STM32CubeMonitor通过实时读取并显示STM32微控制器上的变量,使得开发者能够快速识别和诊断应用程序中的问题,进而优化性能。

qq_57594025的博客 664

《低功耗方法学》翻译——卷首语

低功耗设计方法学。

记录所学,分享知识,结识挚友 993

Python高阶爬虫:逆向工程模拟Wind/同花顺等金融终端数据抓取

本文详细阐述了模拟金融数据终端进行数据抓取的全套技术方案。我们从法律合规性讲起,选择了Playwright作为核心自动化工具,通过两个实战案例(同花顺网页版和Wind桌面版)演示了从分析、模拟到数据解析的完整流程,并进一步介绍了构建健壮爬虫系统所需的高级技巧。我们的策略是:启动一个由Playwright控制的浏览器,模拟真人登录,然后监听所有网络请求,从中过滤出我们需要的那个数据API。if key in ['f43', 'f169', 'f170', 'f46', 'f60']: # 价格类字段。

2201_76125261的博客 546

STM32CubeMonitor使用教程(持续更新)

使用教程大纲STM32CubeMonitor介绍背景功能及特点下载安装功能1:变量监控先有一个stm32的工程STM32CubeMonitor配置配置myVariables添加可执行文件具体流程配置myProbe_Out配置myProbe_In配置processing节点相关显示配置DEPLOY启动监控功能2:远程监控 STM32CubeMonitor介绍 背景 STM32CubeMonitor工具系列通过实时读取和可视化STM32应用程序的变量,有助于在运行时微调和诊断STM32应用程序。除了专用版本(

LeonSUST的博客 2万+

SAP 权限配置(复合角色)

复合角色创建步骤:业务场景:通常单一角色权限颗粒度划分比较细,当需要分配单一角色权限A、B(多个单一角色)给某账号用户Y时,可以先建立一个复合角色C,将A、B绑定到复合角色C中,再将角色C分配给账号Y即完成权限配置。 业务模拟: 1、PFCG创建复合角色: 2、在角色页面添加子角色 在角色分页内添加子角色,点击“菜单”分页中的“读菜单”即可导入子角色中的菜单: 3、将用户分配给...

willieyuan的博客 7087

STM32 Cubemonitor 修改变量数值

STM32 Cubemonitor 修改变量 话不多说,上图:

nidelanse1111的博客 1619

12、控件使用之录入英文、阿拉伯数字删除增加功能及二维码显示

控件使用之录入英文、阿拉伯数字删除增加功能及二维码显示1、用到的控件2、添加控件2.1、添加【文本录入】控件2.1、添加【文本显示】控件2.1、添加【QR 二维码】控件3、保存工程及生成文件4、下载文件 1、用到的控件   需要用的显示控件为【文本显示】控件和【QR二维码】控件,以及触控控件【文本录入】控件。 2、添加控件 2.1、添加【文本录入】控件   【文本录入】控件也叫【ASCI 文本录入】,是用来录入ASCI 字符,打开 DGUS 软件,点击【触控控件】—【文本录入】,用鼠标框选一个区域,即可在右

嵌入式羊圈 629

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: 自动驾驶中的有限状态机(FSM):从理论到实践,手把手教你设计一个高速公路巡航系统
下一篇: 游戏水面的秘密:用URP和Blinn-Phong打造逼真高光(含完整Shader代码)
gitlab7runner
博客等级 码龄4年 78粉丝 1747原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值