PROGMEM probleem

algemene C code
Gebruikers-avatar
Berichten: 26
Geregistreerd: 22 Dec 2015, 13:40
Woonplaats: Zandvoort

PROGMEM probleem

Berichtdoor marc verlooy » 24 Mrt 2016, 12:08

Forumleden,
Ik heb een groot programma geschreven waarbij mijn UNO op compileer-time reageert met de opmerking dat de variabeln teveel ruimte in gebruik nemen en dat het programma daardoor niet stabiel zal lopen. Dit probeer ik nu op te lossen door vaiabelen naar PROGMEM te verplaatsen ; ik heb de pgmspace.h-library toegevoegd en ben nu druk bezig. Ik stuit op het volgende probleem:
de volgende regel compileert gewoon:
const char*maandnamen[12] ={"1-januari","2-februari","3-maart", "4-april","5-mei","6-juni","7-juli","8-augustus","9-september", "10-oktober","11-november","12-december"};
MAAR ALS IK HEM UITBREID TOT:
const char*maandnamen[12]PROGMEM ={"1-januari","2-februari","3-maart", "4-april","5-mei","6-juni","7-juli","8-augustus","9-september", "10-oktober","11-november","12-december"};
krijg ik de foutmelding dat de variabele "maandnamen"een constante moet zijn om in het flash-geheugen geplaatst te worden. HELP??

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: PROGMEM probleem

Berichtdoor nicoverduin » 24 Mrt 2016, 12:56

zo doen:

cpp code
const PROGMEM char maandnamen[][12] = {"1-januari","2-februari","3-maart", "4-april","5-mei","6-juni","7-juli","8-augustus","9-september", "10-oktober","11-november","12-december"};
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 26
Geregistreerd: 22 Dec 2015, 13:40
Woonplaats: Zandvoort

Re: PROGMEM probleem

Berichtdoor marc verlooy » 24 Mrt 2016, 13:14

nico,
Waar zouden we zijn zonder jou??!!
HET WERKT; BEDANKT!!GEWOON 2 RECHTE HAAKJES:)

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: PROGMEM probleem

Berichtdoor nicoverduin » 24 Mrt 2016, 13:53

Nou wat je hier hebt is een array van n elementen (de eerste vierkante haken) van 12 bytes lang. Als het goed is, is de langste string 11 bytes + een voor de string terminator.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 6 gasten