Reducing SRAM size
i need reducing size of flash have more 893 bytes. here code:
any ideas? use asap...
code: [select]
#include <spi.h>
#include <ethernetv2_0.h>
#include <sd.h>
#define w5200_cs 10
#define sdcard_cs 4
int pins[] = {2};
byte mac[] = {0x00, 0xaa, 0xbb, 0xcc, 0xde, 0x02};
ethernetserver server(80);
void setup() {
(int = 0; < sizeof(pins) / sizeof(pins[0]); i++)
{
pinmode(pins[i], output);
digitalwrite(pins[i], low);
}
serial.begin(9600);
serial.println("initializing sd card...");
if (!sd.begin(4)) {
serial.println("sd card initialization failed!");
return;
}
serial.println("sd card initialized.");
serial.println("attempting configure dhcp...");
while (ethernet.begin(mac) == 0) {
serial.println("dhcp configuration failed. trying again...");
}
server.begin();
serial.print("the server can accessed at: ");
serial.println(ethernet.localip());
}
void loop() {
ethernetclient client = server.available();
if (client) {
serial.println("new client");
boolean currentlineisblank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
serial.write(c);
if (!client.find("pin=")) {
sendhtmlheader(client);
file webfile = sd.open("index.htm");
if (webfile) {
while (webfile.available()) {
client.print(webfile.read());
serial.println("sent file client.");
}
webfile.close();
} else {
serial.println("unable open index.htm.");
}
break;
} else {
int pinnumber = (client.read() - 48);
int secondnumber = (client.read() - 48);
if (secondnumber >= 0 && secondnumber <= 9) {
pinnumber *= 10;
pinnumber += secondnumber;
}
bool validpin = false;
(int = 0; < sizeof(pins) / sizeof(pins[0]); i++) {
if (pinnumber == pins[i]) {
validpin = true;
}
}
string pinstate = "alert(\"";
if (validpin) {
digitalwrite(pinnumber, !digitalread(pinnumber));
pinstate += "pin ";
pinstate += pinnumber;
pinstate += " ";
if (digitalread(pinnumber)) {
pinstate += "on";
} else {
pinstate += "off";
}
} else {
pinstate = "pin ";
pinstate += pinnumber;
pinstate += " not valid pin.";
}
pinstate += "\");";
// send http response browser/client
sendhtmlheader(client);
client.println(pinstate);
break;
}
}
}
delay(1);
client.stop();
serial.println("client disonnected");
}
}
any ideas? use asap...
for start use f macro serial print calls:-
https://playground.arduino.cc/learning/memory
https://playground.arduino.cc/learning/memory
Arduino Forum > Using Arduino > Project Guidance > Reducing SRAM size
arduino
Comments
Post a Comment