如何在 Arduino Uno (ATmega328p) 的闪存中存储数据

leu*_*s95 2 avr atmega arduino

我有一个使用 Arduino Uno 的项目,我需要存储一个对于 EPROM 来说太大的字符**。

我目前正在尝试使用串口来完成此操作,但如果需要的话我也可以使用 AVRISP 程序员(不推荐)

到目前为止,我已经研究了 avr/boot.h API,但我不太确定如何正确使用它,或者它是否是正确的方法。

小智 5

arduino(特别是 atmel 328 版本)仅在引导加载程序允许时才允许写入闪存。

标准引导加载程序允许您在安装新程序时写入闪存,但不允许运行时程序写入闪存。

解决方案:安装一个引导加载程序,该引导加载程序允许您运行能够写入闪存的功能。

这是一个 arduino 的引导加载程序(在 hackaday 上展示),允许您在运行时写入闪存 http://majek.mamy.to/en/writing-to-internal-flash-on-arduino/

这是关于该主题的 hackaday 帖子 https://hackaday.com/2015/07/03/arduinos-and-other-avrs-write-to-own-flash/