Stap 7: Gebruik van de RAM en PROGMEM
int availableMemory() {}
int size = 2048;
byte * buf;
terwijl ((buf = (byte *) malloc(--size)) == NULL);
Free(BUF);
grootte; opvragen
}
Bel deze routine in uw setup-routine en het beschikbare RAM-geheugen op de seriële poort of LCD-scherm weergegeven. De hoeveelheid vrije RAM die u nodig hebt is een oordeel gesprek maar ik zou beginnen zenuwachtig als het gedaald tot onder 200 bytes. Gratis RAM-geheugen is nodig voor de stapel die is waar alle lokale variabelen die worden gedeclareerd in subroutines gaan. Vermijd ook grote variabele arrays zetten in de stapel (als een variabele in een subroutine). Zoiets als
niet-ondertekende lange MyArray [23] [23]
volledig zal al uw RAM verbruiken.
Één ding die u doen kunt om op te slaan een heleboel RAM is het gebruik van PROGMEM voor strijkers. Het is jammer dat de snaren gaan in RAM, ze zijn veel beter geschikt voor FLASH-geheugen. U kunt hen in forceren naar FLASH met PROGMEM. Instructies vindt u hier en er zijn talrijke voorbeelden in mijn code.