Progmem v Atmel Studiu 6.2

Když jsem realizoval aplikaci s grafickým displejem, případně se zobrazovací jednotkou složenou z LED Matic, potýkal jsem se s problémem, který se zobrazováním velmi úzce souvisí - bodejď, grafický displej s řadičem KS0108 a tuplem obvod pro buzení diodových matic znakovou sadu tak nějak postrádá. Řešení se přímo nabízí (vlastně google ho nabízí) - v podobě vložení znakové sady přímo do programové (FLASH) paměti jednočipu, ve které je uložen strojový kód programu, do paměti během provádění programu nelze zapisovat (to je možné pouze při programování), data v ní uložená však lze číst. Během práce na projektu ve vývojovém prostředí Atmel Studio 6.2 jsem narazil na potíže s použitím funkce PROGMEM. Pro případ, kdy by někdo řešil něco podobného, zde je deklarace pole v programové paměti (znaková sada) která mně fungovala.
 
Podstatné je při psaní programu zahrnout funkci pro práci s programovou pamětí:
V mém případě pak deklarace pole znaků v paměti vypadá následovně:
 
....

V tomto případě je každý znak definován sedmi za sebou jdoucími bajty + bajt definující bitovou šířku znaku, při vyčítání potřebných dat se postupuje následovně:
 
zde v rámci cyklu for, ve kterém se inkrementuje proměnná "a" postupně vyčítám jednotlivé bajty, které následně ukládám do pole bufferLong
 
Index pole "a" je samozřejmě ten stejný jako v řádku pro vyčítání z programové paměti.