hoeveel gegevens in Arduino progmem?

Hoeveel gegevens kan ik opslaan met PROGMEM op het Arduino-platform (Atmega328)?

Bijvoorbeeld:

prog_char path[] PROGMEM = {'M',103,95,'U',0,0,'M',103,95,'M',103,95,'M',103,95,'M',103,95,'M',
103,95,'M',103,95,'M',103,95,'M',101,94,'M',100,93,'M',99,92,'M',98,91,'M',98,90,'M',97,89,'M',
96,87,'M',95,85,'M',95,85,'M',94,85,'M',94,84,'M',93,82,'M',92,82,'M',92,82,'M',90,79,'M',89,78,
'M',89,78,'M',88,77,'M',88,75,'M',87,75,'M'}

(Nummers gaan omhoog naar 180.)

Waar kan ik deze informatie vinden?

0
@tyblu, AngryEE heeft gelijk om te vragen, stack is in SRAM, PROGMEM macro plaatst spullen in programmageheugen (flash)
toegevoegd de auteur kender, de bron
@tyblu, Gewoon een FYI, niet zeker of je van het aanbod van Atmel houdt, maar de PROGMEM macro en typen worden gedefinieerd in de avr-gcc bibliotheek pgmspace.h - erg handig als je probeert zo veel mogelijk uit je AVR te persen :) (dus niet alleen een Arduino-specifiek ding)
toegevoegd de auteur kender, de bron
Misschien moet ik mezelf vertrouwd maken met Arduinos voordat ik in de toekomst commentaar geef, @JonL;) ... opmerking verwijderd.
toegevoegd de auteur Annan, de bron
De stapel bevindt zich in het programmageheugen?
toegevoegd de auteur splattered bits, de bron

1 antwoord

Om te zien hoeveel geheugen beschikbaar is op je Arduino, vink je de GUI aan nadat het de code heeft geüpload: "Binaire schetsgrootte x bytes (van maximum y byte)". \ $ y-x \ $ is het beschikbare bedrag om gegevens in te plaatsen.

Of bekijk de technische specificaties van je Arduino voor de waarde van Flash-geheugen. Alle Arduinos met een 328 bieden 32kByte aan flash, waarvan 2k wordt afgenomen door de bootloader, je schets kan 4k of zo zijn, voor de zekerheid zou ik niet meer dan 20kByte aan gegevens opslaan.

4
toegevoegd
ok en dus kan ik berekenen hoeveel char ik kan gebruiken: (y-x)/2 met een prog_char-type van 2 bytes lang. is het juist?
toegevoegd de auteur pro3carp3, de bron
prog_char is 1 byte lang. U kunt de grootte van een type met de functie sizeof controleren, zie coverclock. blogspot.com/2012/02/arduino-data-types.html
toegevoegd de auteur tim, de bron