Robofun 機器人論壇
標題:
[求助]如何使用UNO的Flash Memory[已解決]
[打印本頁]
作者:
joejoe2829
時間:
2014-11-20 09:51
標題:
[求助]如何使用UNO的Flash Memory[已解決]
本帖最後由 joejoe2829 於 2014-12-8 15:38 編輯
因為資料量太多了,想要把資料寫到flash中再做一些分析後,再清掉資料
但,不知道如何將二維陣列的資料寫入falsh中
不知有那位高手知道?提供方法
謝謝
程式中如果將陣列再加大,就沒有辦法Compile了。
我需要的陣列大小需要到[16000][1]的
所以想用falsh的空間,不知道是否可行~
#include <SPI.h>
#include <SD.h>
int analogPin, sensor, arrTourqe [500][1], i, j;
unsigned long startTime, duration;
void setup()
{
Serial.begin(115200);
pinMode(10, OUTPUT);
}
void loop()
{
Serial.println("Start");
delay (5000);
startTime = millis();
Serial.print("Start(ms):");
Serial.println(duration);
for (i = 0; i < 500; i++) {
for (analogPin = 0; analogPin < 2; analogPin++) {
arrTourqe [i][analogPin] = analogRead(analogPin);
}
}
duration = millis() - startTime;
Serial.print("Duration(ms): ");
Serial.println(duration);
Serial.println("END");
delay (200);
}
複製代碼
作者:
pizg
時間:
2014-11-20 10:05
本帖最後由 pizg 於 2014-11-20 10:13 編輯
回復
1#
joejoe2829
改成這樣:
int analogPin, sensor, i, j;
int arrTourqe[16000][1];
或
int analogPin, sensor, i, j;
uint8_t arrTourqe [16000][1];
作者:
joejoe2829
時間:
2014-11-20 10:52
本帖最後由 joejoe2829 於 2014-11-20 11:01 編輯
回復
2#
pizg
不好意思,我陣列開到16000時,如:arrTourqe[16000][1]在使用迴圈編譯就會出現問題了,所以我想用flash的方式是用uint16_t的方式宣告嗎?如果是
還需要額外載入、安裝什麼Library嗎?
作者:
pizg
時間:
2014-11-20 22:21
本帖最後由 pizg 於 2014-11-20 22:30 編輯
回復
3#
joejoe2829
我用你的程式改成int analogPin, sensor, i, j;
int arrTourqe[16000][1];
或
int analogPin, sensor, i, j;
uint8_t arrTourqe [16000][1];
都沒有問題.
snap.png
(28.29 KB, 下載次數: 243)
下載附件
2014-11-20 22:30 上傳
作者:
joejoe2829
時間:
2014-12-2 16:10
回復
4#
pizg
感謝大大的幫忙
後來,我要下載到uno時,沒有辦法下載,好像是記憶體容量不夠
陣列只能開到200才可正常的載入,超過就沒有辦法了,
不管是flash memory還是sram
。
目前就放棄使用陣列的方式了
謝謝
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2