问题标签 [eeprom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1495 浏览

arduino - 以编程方式查找 Arduino 草图的名称?

我想确定在我的 Arduino Leonardo 上运行的 Arduino 草图的名称。因此,当我配置 Arduino 时,我可以更改文件名并让草图自动更改脚本中的数字。

这可能吗?

为了说明我们这样做的原因,我们必须提供 50 个 Arduino,而不是手动编辑一堆脚本,我宁愿只更改文件名。

我不知道如何做我想做的事,但作为对旁观者的善意表现,这里是我在 Arduino 上设置 EEPROM 的代码:

提前感谢您的任何想法!萨拉

0 投票
1 回答
4116 浏览

python - 如何从字符串中删除垃圾数据

我处于必须使用 Python 读取和写入嵌入式设备上的 EEPROM 的情况。第一页(256 字节)用于非易失性数据存储。我的问题是变量的长度可能不同,我需要读取一个固定的数量。

例如,一个字符串存储在地址 30,长度可以是 6 到 10 个字节。我需要阅读最大可能的长度,因为我不知道它在哪里结束。这样做是在字符串中给了我多余的垃圾。

我对 Python 相当陌生。有没有办法在读入字符串后自动切断字符串中的数据?

0 投票
1 回答
1254 浏览

c - Arduino EEPROM 看起来很脆弱,我应该写两次吗?

我习惯于使用高级语言对 PC 和智能手机进行编程,微控制器对我来说是一个新领域。它们是否在某种程度上不同,更不值得信赖,需要不同的技术?以下是在 Arduino Mega 上运行的 EEPROM 写入和读取的代码:(附有以太网屏蔽,此处未使用)

下面是结果:

..... 一般来说,地址 1 和 2 总是不稳定的,需要两次写入才能更改 ~10 以上的内存位置。

我可以换掉另一块板,但仍然会遇到类似的怪事。

如何使我的编程适应这种看似不稳定的性能?

0 投票
1 回答
723 浏览

c - PIC18F46J50 EEPROM 读/写

我正在做的项目如下:

我得到了 ADuC7061 的 USART 与 PIC18F46j50 EUSART 连接。aduc7061 不断发送信息,而 pic18f 通过其 eusart0 接收该信息。

现在的问题是我必须将该信息存储在 pic18 的 eeprom 上,然后在对 128x64 图形显示器进行一些操作后显示该信息。

0 投票
1 回答
162 浏览

high-level - 我可以编译任何用于 eeprom 的高级语言吗?

我需要知道是否可以编译任何高级编程语言以用于 eeprom。我知道可以从已编译的二进制文件中删除标头,但我不确定地址将如何受到影响。

请不要将此标记为“不是问题”。我在这个网站上从那些无法区分愚蠢问题和非问题问题的人那里得到了很多废话。

我可以编译任何用于 eeprom 的高级语言吗?

(编辑)我的视线中有一个Winbond 27C512 EEPROM

0 投票
1 回答
109 浏览

eeprom - EEPROM 是一次可编程的吗?

我只想擦除要在我的应用程序中修改的部分位置。EEPROM 是否支持这些功能?或者它们是一次性可编程的?

0 投票
1 回答
8896 浏览

arduino - 将数据写入 Arduino 的板载 EEPROM

我目前正在尝试编写一个函数来将数据存储到我的 Arduino 上的 EEPROM。到目前为止,我只是在编写一个指定的字符串,然后在程序第一次运行时将其读回。我试图将字符串的长度存储为第一个字节,我的代码如下;

我遇到的问题是当我读取 EEPROM 的第一个字节时,我得到了假定的长度值。但是,循环只运行了 3 次。我已经评论了我的代码中的一些兴趣点,但错误在哪里?

0 投票
3 回答
2734 浏览

configuration - 小型嵌入式设备的EEPROM参数结构

我在小型嵌入式设备重新设计(PID 控制器)中解决的主要问题是设备参数存储。我在这里部分介绍的旧解决方案是节省空间的,但在添加新参数时维护起来很笨拙。它基于必须与 EEPROM 地址匹配的设备参数 ID,如下面的示例所示:

每个地址都是硬编码的,下一个地址是根据之前的数据大小定义的(注意地址之间的间距不均匀)。它很有效,因为没有浪费 EEPROM 数据存储,但很难在不引入错误的情况下进行扩展。

在代码的其他部分(即 HMI 菜单、数据存储...),代码将使用与刚刚给出的地址匹配的参数列表,如下所示:

然后在使用这些参数的代码中,例如在下面给出的用户菜单结构中,我使用我自己的 PARAM 类型(结构)构建了项目:

现在参数列表构建为结构数组:

...

本质上,每个参数都有其唯一的 ID,并且该 ID 必须与硬编码的 EEPROM 地址相匹配。由于参数大小不固定,我无法将参数 ID 本身用作 EEPROM(或其他媒体)地址。上例中的 EEPROM 组织是 16 位字,但原则上没关系(更多的空间被浪费在字符上,所以我将来更喜欢 8 位组织)

问题:

有没有更优雅的方法来做到这一点?一些哈希表,众所周知的模式,类似问题的标准解决方案?现在 EEPROM 的大小要大得多,我不介意使用固定参数大小(为布尔参数浪费 32 位)来换取更优雅的解决方案。看起来使用固定大小的参数,我可以使用参数 ID 作为地址。这种方法有我看不到的明显缺点吗?

我现在使用的是分布式硬件(HMI、I/O和主控制器是分开的),我想使用所有设备都知道这个参数结构的结构,例如远程I/O知道如何扩展输入值,HMI 知道如何显示和格式化数据,所有这些都仅基于参数 ID。换句话说,我需要一个定义所有参数的地方。

我做了我的谷歌研究,很少能找到不包括一些数据库的小型设备。我什至在考虑一些 XML 定义,它会为我的数据结构生成一些 C 代码,但也许有一些更适合小型设备(高达 512 K 闪存,32 K RAM)的优雅解决方案?

0 投票
1 回答
13261 浏览

arrays - Arduino EEPROM 读写阵列?

当 Arduino 上电时,它会在闪存中存储一​​个 int 数组,例如:

当程序按钮被按下时,它会等待压电体接收到敲击声,然后这个数组就会变为,例如:

(基于http://grathio.com/assets/secret_knock_detector.pde

我将如何在 EEPROM 中写入和读取阵列?这对我来说是全新的,所以任何帮助都会很棒。

0 投票
1 回答
2237 浏览

arduino - 将数据写入 Arduino EEPROM

这是此处帖子的后续内容 - 将数据写入 Arduino 的板载 EEPROM 我刚刚尝试使用 URL 中的片段,但不起作用。请帮我解决以下错误。

这是代码