问题标签 [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 投票
2 回答
10950 浏览

memory - 从 Arduino 的 EEPROM 读取和写入结构

我正在尝试将 C 中定义的数据结构写入我的 Arduino Uno 板的非易失性存储器,因此结构的值将在电源关闭或重置后保留。据我了解,执行此操作的唯一方法(在草图运行时)是写入 arduino 的 EEPROM。虽然我可以写单个字节(在地址 0 处设置一个值为 1 的字节):

我被困在试图写一个完整的结构:

由于 EEPROM 的写入限制为 100,000 次,我不想在循环中通过每个字节写入 Arduino,因为这可能会很快用完它。有谁知道这样做的更有效方法,无论是使用 EEPROM,还是在草图运行时有办法写入 PROGMEM?(不使用 Arduino 库,只使用 C)。

已解决 我最终编写了两个自定义函数——eepromWrite 和 eepromRead 它们在下面列出:

将像这样实现:

0 投票
3 回答
2332 浏览

c - 通过 SMBus / I2C 使用 bcm2835 更改 mlx90614 的从地址

如何使用 bcm2835 库更改 mlx90614 的从地址?我试过下面的代码......

程序的输出如下:

如果我在那之后运行 i2cdetect -y 1,该设备不会出现在表中,但它会响应从 0x00 或 0x5a 调用它的程序。在我使用过这样的程序后,i2cdetect 会从地址 0x5a 正常检测到设备。

所以我想真正的问题是,为什么我不能清除和重写 eeprom 0x0e?

Mlx90614 SMBus 通信的描述可以在下面找到。最相关的页面是 IMO 第 19 页,它实际上给出了我正在尝试做的伪代码示例。 http://www.melexis.com/Assets/SMBus-communication-with-MLX90614-5207.aspx

这是 mlx90614 的数据表 http://www.melexis.com/Assets/IR-sensor-thermometer-MLX90614-Datasheet-5152.aspx

这是 bcm2835 的文档 www.airspayce.com/mikem/bcm2835/group__i2c.html

0 投票
1 回答
225 浏览

parsing - Intel Hex 中的地址可以重叠吗?

我正在尝试自己编写简单的 Intel HEX 解析器。

在阅读http://en.wikipedia.org/wiki/Intel_HEX wiki 之后,我仍然有一些问题。

1.地址可以重叠吗?我的意思是这个检查总是正确的吗?

2.用于加载到某些EPROM的HEX文件地址之间可以有间隔吗?我的意思是我应该使用

查看。我找不到一些限制。

0 投票
1 回答
522 浏览

pic - 为什么程序之间的EEPROM内容不同

我使用的是 PIC18F26K80、MPLABX、Windows 7。

当我单步执行一个程序时,查看 EEPROM,并且没有读取或写入 EEPROM 的指令,EEPROM 被“*”(FF)填充。然后,当我单步执行第二个程序,查看 EEPROM 时,还没有读取或写入 EEPROM 的指令,EEPROM 包含几个不同的字符。

首先,如果我从未看到任何读取或写入的命令,我根本不知道如何填充 EEPROM。其次,我不明白我的微控制器的 EEPROM 如何在程序之间包含不同的值而无需读取或写入。

如果您可以帮助具体解释我的情况,或者甚至只是一般地解释 EEPROM 以帮助我走上正轨。另外,我不确定我是否清楚地解释了这一点,因此请随时发表评论,我会详细说明。谢谢。

0 投票
0 回答
327 浏览

parsing - 使用arduino从外部医疗设备读取eeprom

我从 ebay 上买了一个血压模块,想将它与一个 arduino mega 接口并将数据存储到数据库中。到目前为止,我已经完成了存储硬编码值并准备从血压模块 eeprom 检索值的数据库设置,我已经将电线焊接到模块 eeprom 的 SCL SDA 和 WP。

到目前为止,我已经编写了从模块上的 eeprom 读取值的代码,但对我来说,它或多或少有点乱,因为我打印出来的值是 eeprom 产生的原始值,它们是从 0-9 变化的数字行. 下面是我正在打印的值的片段,但不是全部:

(打印的值没有间隔,我自己间隔了它们,因为有很多重复的值并且更容易阅读)

正如你可以看到很多这些值重复,所以我假设改变的空间之间的值可能是我可能想要的值,但我是使用 eeprom 的新手,所以我不是 100% 确定。

非常感谢我应该如何解释/解析这些值的帮助,或者如果我以错误的方式进行,甚至朝着正确的方向推动将不胜感激。谢谢

0 投票
1 回答
2767 浏览

linux-device-driver - 从 sysfs 读取 EEPROM 条目

我正在尝试从 beagleboard 上的 sysfs 内部读取 eeprom 条目。下面的条目我正在尝试使用简单的 cat/vi 读取。

但收到此错误:cat:读取错误:连接超时

谁能让我知道这里出了什么问题?

0 投票
1 回答
1728 浏览

c - 在 ubuntu 上读取、写入、更新 pci 卡上的 eeprom

我试图弄清楚如何在 ubuntu 上使用 c 语言在 pci 网卡上读取、写入和更新 eeprom 的内存地址。

有人可以指出我正确的开始方向吗?谢谢

0 投票
1 回答
735 浏览

c - 使用 DMA 读取 SPI (SSP) 总线上的 EEPROM

我正在使用 NXP LH79525,基于 ARM7TDMI 的处理器。有一个 EEPROM 通过 SPI 总线连接到 SSP 端口。

目的是将 EEPROM 读入 SRAM 以便更快地访问。

目前的工作代码向 EEPROM 发送一个读取命令,每个字节读取数据字节,这需要很长时间。

我想使用 DMA 直接读取 SPI 总线上的 EEPROM,无需 CPU 干预。

这是我的代码片段:

使用上述示例时,我从 EEPROM 中读取了不正确的值。
DMA 寄存器计数正确。SSP 在此代码片段之前已经初始化,用于读取字节。

我正在寻找一个有效的代码示例片段,但在网上没有找到。

0 投票
1 回答
78 浏览

c - 读回一个浮点数

我正在使用微芯片 c18,我有这个功能,它将浮点数分成 4 个相应的字节。C18 遵循小字节序

并写入串行eeprom。

如果我想读回浮点变量。

这个函数会返回浮点变量吗?我现在没有任何硬件和模拟工具。

我相信我的问题很清楚。编辑:

这样做的同时。将 char 分配给 float 时发生编译器不匹配错误。我该如何消除该错误?

0 投票
0 回答
456 浏览

c - 在 C 语言中在闪存上存储可以变化的查找表

我希望这不是一个反复出现的问题,但我似乎没有找到任何关于我正在尝试做的事情。我将在微处理器的闪存上存储一个小数据结构(大小约为 40 字节)作为查找表。该设备可以与 PC 连接,因此最终用户可以配置此表(无需对微控制器进行编程)以满足其特定系统的需要。将它存储在一个数组中对我来说很有意义,并且我可以方便地在代码中访问这些数据,但是我需要一些方法来强制这个数组指向一个特定的内存位置。(要存储表的闪存部分不是真正的闪存,而是 EEPROM,由我配置和分区)。关于我如何去做的任何想法?(使用kinetis K60DX256 micro,存储数据结构经验不多)谢谢