极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: suyulingxm

Ardunio的内存到底是怎么控制的?

[复制链接]
 楼主| 发表于 2014-4-3 17:51:54 | 显示全部楼层
Super169 发表于 2014-4-3 17:49
試試這樣修改, 看看用 PROGMEM 是否可以:

这样输出是对啊。。。太神奇。。
回复 支持 反对

使用道具 举报

发表于 2014-4-3 18:11:41 | 显示全部楼层
suyulingxm 发表于 2014-4-3 17:51
这样输出是对啊。。。太神奇。。

這是用上 PROGMEM (即 flash memory) 的做法.

難道你的 SRAM 真的不夠???  不可能吧, 這裡大約只需要 1KB 的 SRAM, UNO應該有 2KB 的.
如果這裡是你的 sketch 的全部的話, 就可能是你的 UNO 記憶體有問題了.

否則, 可能是你的 sketch 其他地方用了大量記憶體, 而導致記憶體不足.

不過, 無論是否記憶體不足, 對於 大量的 const array, 還是建議用 PROGMEM 比較好.   反正你的程式, 總不會就只有這裡的幾句, 將來也會有機會遇上記憶體不足的問題, 一開始就用 PROGMEM 比較好.

你也可以看到, 轉用 PROGMEM, 要改動的地方其實是很少的.
回复 支持 反对

使用道具 举报

发表于 2014-4-3 18:46:49 | 显示全部楼层
Super169 发表于 2014-4-3 18:11
這是用上 PROGMEM (即 flash memory) 的做法.

難道你的 SRAM 真的不夠???  不可能吧, 這裡大約只需要  ...

uno 1k内存,你这数组1028字节,超1K了,只能放flash。
回复 支持 反对

使用道具 举报

发表于 2014-4-3 20:06:20 | 显示全部楼层
pathletboy 发表于 2014-4-3 18:46
uno 1k内存,你这数组1028字节,超1K了,只能放flash。

UNO 應該是 2KB SRAM 的, 1KB 的只是 EEPROM.

剛用我的 UNO 測試了, 應該是沒有問題的.  如果樓主的程式真的只有這麼多, 可能是他的 UNO 有問題了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-10 11:26:36 | 显示全部楼层
Super169 发表于 2014-4-3 20:06
UNO 應該是 2KB SRAM 的, 1KB 的只是 EEPROM.

剛用我的 UNO 測試了, 應該是沒有問題的.  如果樓主的程 ...

我要用14K的空间来存数据,应该Ardunio的那款板子呢?或者数据要动态的传输,一次必须是2K以上。。。有这样的板子吗?
回复 支持 反对

使用道具 举报

发表于 2014-4-10 12:28:54 | 显示全部楼层
suyulingxm 发表于 2014-4-10 11:26
我要用14K的空间来存数据,应该Ardunio的那款板子呢?或者数据要动态的传输,一次必须是2K以上。。。有这 ...


DUE 有 96K SRAM, 應該足夠了.  但聞說部份庫可能不同/不能用.

又或者花幾塊錢, 買顆 AT24C1024, 就有 128K 可用.  
我也有興趣研究 AT24C1024 的使用, 由於 i2c 地址可選, 據說可同時用 4 顆.
但在淘寶選擇比較少, 也不知是否直接 i2c 連線, 再自行接腳改地址就可以.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 07:38 , Processed in 0.055289 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表