检查 Arduino 中的内存占用

2023-12-29

我正在使用 Arduino 开发一个简单的项目。最近,我必须将我的一个变量转换为 long 而不是 int,为了让事情简单,我只是移动了它与之交互的所有数字(所以我不必担心跨类型比较和数学)。这看起来很浪费,但这只是我自己的一个时钟,我并不在乎那么多。

然而,它让我想知道我使用了多少内存。我怀疑这是一个问题,但我意识到我不知道有什么方法可以检查。

那么,有没有办法检查Arduino使用的内存量呢?

理想情况下,我想打印出当前通过串行连接可用的内存/总内存。


你可以用这个。它会让您了解您所在的位置:

Serial.print(availableMemory());

// free RAM check for debugging. SRAM for ATmega328p = 2048Kb.
int availableMemory() {
    // Use 1024 with ATmega168
    int size = 2048;
    byte *buf;
    while ((buf = (byte *) malloc(--size)) == NULL);
        free(buf);
    return size;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 Arduino 中的内存占用 的相关文章

  • iOS设备和iPhone模拟器内存​​组织的差异

    我正在尝试使用 Xcode 4 3 3 和 iPhone 5 1 模拟器开发一个应用程序 当我在模拟器上运行这个应用程序时 我没有收到任何警告 并且它运行得很好 但是 当我尝试在 iOS 设备上执行此操作时 我收到一条警告消息 收到内存警告
  • 异步 C++ 代码中的内存管理

    我一直在与boost asio一段时间以来 虽然我确实理解了异步调用的概念 但我仍然对内存管理的含义感到有些困惑 正常情况下同步代码中对象的生命周期很清楚 但考虑一个类似于以下情况的场景日间服务器 http www boost org do
  • Xcode Instruments:模拟器中运行的 iPhone 应用程序的峰值 RAM?

    活动监视器 又名内存监视器 是 Xcode Instruments 中唯一可以测量在模拟器中运行的 iPhone 应用程序的总应用程序 RAM 使用情况的工具吗 只是显示瞬时有线 RAM 的那条线 与 iPhone 硬件相比 尤其是 OSX
  • 如何正确定义析构函数

    我对 C 以及一般的编程 比较陌生 所以如果问题没有立即完全清楚 请原谅我 我所拥有的是一个程序 其中创建了内部定义的类 让我们称之为 class1 的一定数量的对象 程序运行得很好 对象也做了它们应该做的事情 我当前试图解决的问题如下 这
  • Java固定内存映射

    有没有一种简单 高效的Map允许限制映射使用的内存的实现 我的用例是 我想在创建时动态分配大部分可用内存 但我不希望OutOFMemoryError将来的任何时候 基本上 我想使用这个地图作为缓存 但我想避免像这样的重缓存实现EHCache
  • PostgreSQL安装错误——无法分配内存

    我正在尝试从 sqlite3 切换到 PostgreSQL 以在 Rails 中进行开发 这样我就不会遇到任何 heroku 问题 我遵循了heroku和链接到的Railscast上给出的建议 但是在brew安装postgresql后遇到了
  • malloc :匿名映射和魔法区域

    我只是在摆弄内存映射 想查看用户空间虚拟内存区域映射 写了一些像这样的行 char ptr NULL printf Allocating 300KB n ptr malloc 300 1024 printf Allocated at p s
  • 在向量::resize()和向量::reserve()之间选择

    我正在为我的 a 预先分配一些内存vector数据成员 例子 class A vector
  • malloc 实现?

    我正在尝试实施malloc and free对于C 我不知道如何重用内存 我目前有一个struct看起来像这样 typedef struct mem dictionary void addr size t size int freed me
  • 较低级别的缓存是否可以具有更高的关联性并且仍然保留包含性?

    较低级别的缓存是否可以具有更高的关联性并且仍然保留包含性 假设我们有 2 级缓存 L1 最接近 CPU L2 最接近主内存 L1 高速缓存是与 4 个组关联的 2 路组 假设 L2 高速缓存与 16 个高速缓存行直接映射 并假设两个高速缓存
  • 类中的易失性变量:“‘易失性’之前预期有非限定 ID”?

    我有两个static volatile我的类中定义的变量ADC 该类写为 裁剪以节省空间 pragma once include PeriodicProcess PeriodicProcess h include
  • “calloc”不会自动消耗 RAM 中的内存

    根据这个问题的回答 malloc 和 calloc 之间的区别 https stackoverflow com questions 1538420 difference between malloc and calloc answer 15
  • 编程环境中的虚拟地址空间

    我对虚拟地址空间的含义感到困惑 在 32 位机器中 进程可以寻址 2 32 个内存位置 这是否意味着每个进程的虚拟地址空间是 2 32 4GB 以下是进程虚拟地址空间的快照 这个可以增长到4GB吗 这样的系统中进程数量有限制吗 这个可以增长
  • 在 Postgres 中为特定查询设置 work_mem

    我正在使用一个委托给 JDBC 驱动程序的库PostgreSQL 而且有些查询非常复杂 需要更多内存 我不想设置work mem对于所有查询来说都是大的 只是这个子集 问题是执行以下代码会导致错误 pseudo code for what
  • 安全移动 C++ 对象

    我听到过一些警告 不要通过以下方式将对象运送到另一个内存位置memcpy 但不知道具体原因 除非它包含的成员做了依赖于内存位置的棘手事情 否则这应该是完全安全的 或者不是 编辑 预期的用例是像这样的数据结构vector 它存储对象 不是po
  • 如何测量Python中对象的内存使用情况?

    我有一个Python课程foo其中包含 数据 整数 浮点数 列表 整数 浮点数和其他对象的列表 字典 整数 浮点数 其他对象的 假设没有反向引用 循环 是否有一种简单的方法来测量一个进程的总内存使用量foo目的 本质上 我正在寻找一个递归版
  • Arduino 引导加载程序

    有人可以解释一下如何Arduino引导加载程序 http code google com p arduino source browse tags 0019 hardware arduino bootloaders atmega ATmeg
  • NSMutableArray 实例变量内存管理

    我正在做最后一点内存管理整理 但有些东西我不明白 我已经检查了所有文档 Stack Overflow 等 但仍然不明白 我怀疑这与数组有关 我有一个NSMutableArray作为实例变量 我用它来保存从另一个数组中的对象创建的对象 vie
  • 操作/Lambda 表达式内存管理问题

    我将一个操作存储在局部变量中 然后在该局部变量超出范围后使用 使用前是否有被清理的危险 这是一个例子 public List GetMaps Action
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用

随机推荐

  • 为什么setTimeout 0在函数结束时没有执行

    我是Javascript新手 最近了解了setTimeout设置为0毫秒的用法 我正在尝试实施它 但没有达到预期的效果 据我所知 它必须等到所有事件完成 但它的行为并不符合预期 请告诉我我错过了什么或者我错在哪里 索引 html index
  • 在 Jenkins 管道脚本中隐藏密码

    我正在尝试在我的 Jenkins 构建中隐藏密码 我已经试了 但是 这似乎不适用于我的 Jenkins 管道脚本 因为如果我定义密码PASSWD1然后我在脚本中使用它 如下所示 PASSWD1 我正进入 状态 No such DSL met
  • 如何用安全的 Rust 表达相互递归的数据结构?

    我正在尝试在 Rust 中实现类似场景图的数据结构 我想要一个与此 C 代码等效的代码safe Rust struct Node Node parent should be mutable and nullable no parent st
  • Eclipse、dropins、控制台模式、Axis2 和 dropins 未安装

    我是 eclipse 开发平台的新手 在尝试安装以下插件时 我有一个奇怪的行为 org apache axis2 eclipse codegen plugin 1 6 2 jar org apache axis2 eclipse servi
  • 设置现有语言环境后,文本转语音会返回不同的不存在语言环境

    原问题 我有一个标准的 texttospeech android speech tts TextToSpeech 我初始化它并使用设置语言tts setLanguage Locale getDefault 默认区域设置是 de DE 对于德
  • 根据索引计算numpy数组中所有点到单个点的距离

    假设二维数组如下 arr array 1 1 1 4 5 8 2 6 9 if point array 1 1 给出然后我想计算所有指数的欧几里德距离arr到点 1 1 结果应该是 array 1 41 1 1 41 1 0 1 1 41
  • 根据类型创建不同的对象

    我有一个数据库表 其中包含名为 type 的列 对于数据库列中的每一行 我必须根据类型创建一个对象 目前我使用 if else 语句 if type equals object1 Object1 object1 new Object1 el
  • 如何在knitr文件中自动为R包创建BibTex引用?

    我不确定这是否是 R LaTeX 或 BibTex 问题 我试图自动生成一个包含 R 包引用的 bib 文件 然后在末尾列出它们 我能够生成 BibTex 文件 并且没有发现 BibTex 文件有任何问题 但是当我编译 PDF 时 条目没有
  • 局部变量 n 可能尚未初始化

    import View UI public class App UI m public static void main String args System out println Hello UI n n menu UI 类位于 Vie
  • TinyMCE 多个编辑器在 Yii2 中无法正确渲染

    我正在使用 Yii2 和来自2amigos yii2 tinymce widget https github com 2amigos yii2 tinymce widget 仅当我仅使用一次时 编辑器看起来才正确 但是当我使用多个编辑器时
  • 在 Swift 中使用 hidesBackButton 隐藏导航栏中的后退按钮

    我想在从一个视图转换到另一个视图时隐藏后退按钮 我阅读了有关此问题的问题 每个答案都是 使用hidesBackButton 这样做的问题是 当我将其放入 viewDidLoad viewWillAppear 中时 后退按钮箭头会隐藏 但字符
  • 找不到“MySql.Data.MySqlClient”ADO.NET 提供程序的实体框架提供程序

    我尝试将实体框架与 MySQL 一起使用 但出现上述错误 我安装了最新的 MySQL 连接器 完整的错误如下 No Entity Framework provider found for MySql Data MySqlClient ADO
  • Material UI 自动完成 + 无限滚动在一起?

    问题 获取双滚动条 删除纸张滚动条会使自动完成内容不可滚动 因此仅显示下拉列表可见高度中的内容 如果我隐藏另一个滚动 则不会调用无限滚动 API 我怎样才能让它工作 描述 我正在尝试使用 Material UI Autocomplete 创
  • 组合框中的默认文本

    我有 2 个组合框 如图所示 想知道是否可以为组合框设置某种文本字段 因此第一个框将说明成员 这样我想摆脱组合框上方的文本框 我知道这可以通过将 成员 添加到数据集中来完成 但我不想这样做 还有别的办法吗 BR 您正在寻找的效果称为 水印
  • 当手机空闲/打瞌睡/锁定时 Android 服务不工作

    晚上好 我已经尝试了好几天了 我真的不知道还能尝试什么 我基本上尝试了我在网上找到的所有东西 但它仍然不起作用 但我有一种感觉 一旦我找到了解决方案它一定是非常简单的事情 我正在开发一个更大的项目 但在这里我只是想得到一个非常简单的示例 我
  • Jetty 中的 ServletHandler 和 ServletContextHandler 有什么区别?

    我正在尝试开始使用嵌入式 Jetty 服务器 我只想根据请求路径将请求映射到不同的 servlet 创建一个有什么区别ServletHandler并向其中添加 servlet 而不是创建ServletContextHandler并向其中添加
  • 复制迁移的目的是什么?

    背景 如果可执行文件具有在共享对象中定义的外部数据引用 则编译器将使用复制重定位并将副本放置在其 bss 部分中 本网站详细介绍了复制迁移 http www shrubbery net solaris9ab SUNWdev LLM p22
  • 验证失败:上传文件的扩展名与其内容不匹配

    我正在使用回形针 gem 上传文件 我的回形针 gem 版本是回形针 4 1 1 上传文件时抛出 Validation failed Upload file has an extension that does not match its
  • 我是否需要为图片元素内的每个源重复类属性? (HTML5)

    我正在将图像转换为 webp 这意味着我需要使用 图片 标签而不是 img 因为图片允许为不支持 webp 的设备和浏览器回退到 png 格式 无论如何 我有一个如下所示的 img img class usp pics pic1 src i
  • 检查 Arduino 中的内存占用

    我正在使用 Arduino 开发一个简单的项目 最近 我必须将我的一个变量转换为 long 而不是 int 为了让事情简单 我只是移动了它与之交互的所有数字 所以我不必担心跨类型比较和数学 这看起来很浪费 但这只是我自己的一个时钟 我并不在