<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=1294&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-07-18T16:33:56+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1294&amp;mode</id>
<entry>
<author><name><![CDATA[Piotrek_P]]></name></author>
<updated>2012-07-18T16:33:56+01:00</updated>
<published>2012-07-18T16:33:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10156#p10156</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10156#p10156"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10156#p10156"><![CDATA[
<div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />Wara od LOCHU ... albowiem miejsce to szanowne i trafić tam to honor i zaszczyt <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /></div><br /><br />Chyba że ktoś chce pogłębić wiedzę, to dostanie od SunRivera łopatę, i wtedy... do lochu, do lochu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> hehe:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=290">Piotrek_P</a> — 18 lip 2012, o 16:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sonix]]></name></author>
<updated>2012-07-18T16:24:41+01:00</updated>
<published>2012-07-18T16:24:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10155#p10155</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10155#p10155"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10155#p10155"><![CDATA[
<div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />Wara od LOCHU ... albowiem miejsce to szanowne i trafić tam to honor i zaszczyt <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /></div><br /><br />A nie mówiłem że jak tylko powstaną LOCHY to wszyscy będą się tam pchali drzwiami i oknami?  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=127">Sonix</a> — 18 lip 2012, o 16:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-07-18T15:55:29+01:00</updated>
<published>2012-07-18T15:55:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10152#p10152</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10152#p10152"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10152#p10152"><![CDATA[
Wara od LOCHU ... albowiem miejsce to szanowne i trafić tam to honor i zaszczyt <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 18 lip 2012, o 15:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-07-18T14:48:25+01:00</updated>
<published>2012-07-18T14:48:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10146#p10146</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10146#p10146"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10146#p10146"><![CDATA[
<div class="quotetitle">MirkoT napisał(a):</div><div class="quotecontent"><br />No tak, ale to chba tylko dla takich &quot;nowych&quot; na forum <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo bywalcy to dobrze już wiedzą... że można za takie cuś trafić do <strong><span style="font-size: 150%; line-height: normal">lochu</span></strong> <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><br /></div><br /><br />Hahahahaha <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> no no ale niech też nowe osoby się powoli z tą myślą oswajają.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 lip 2012, o 14:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-07-18T14:39:39+01:00</updated>
<published>2012-07-18T14:39:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10144#p10144</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10144#p10144"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10144#p10144"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />No tak <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> oczywiście że zauważył - ale i tak jak ja widzę coś takiego to nie mogę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> emocje biorą górę - a na poważnie to dopisałem to żeby inna osoba przeglądająca forum widziała już bardzo jasną opinię na ten temat.<br /></div><br />No tak, ale to chba tylko dla takich &quot;nowych&quot; na forum <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo bywalcy to dobrze już wiedzą... że można za takie cuś trafić do <strong><span style="font-size: 150%; line-height: normal">lochu</span></strong> <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 18 lip 2012, o 14:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-07-18T13:58:34+01:00</updated>
<published>2012-07-18T13:58:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10141#p10141</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10141#p10141"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10141#p10141"><![CDATA[
<div class="quotetitle">MirkoT napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent">Szarpanie LCD w przerwaniu timera to zgroza.<br /></div><br />No i przecież szopler sam o tym pisał <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br /><div class="quotetitle">szopler napisał(a):</div><div class="quotecontent"><br />ale jakbyś zobaczył co tam siedzi w przerwaniu to ...<br /></div><br />czyli jak najbardziej ma tego świadomość <img src="https://forum.atnel.pl/images/smilies/icon_exclaim.gif" alt=":!:" title="Wykrzyknik" /></div><br /><br />No tak <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> oczywiście że zauważył - ale i tak jak ja widzę coś takiego to nie mogę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> emocje biorą górę - a na poważnie to dopisałem to żeby inna osoba przeglądająca forum widziała już bardzo jasną opinię na ten temat.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 lip 2012, o 13:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-07-18T13:52:41+01:00</updated>
<published>2012-07-18T13:52:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10140#p10140</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10140#p10140"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10140#p10140"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Szarpanie LCD w przerwaniu timera to zgroza.<br /></div><br />No i przecież szopler sam o tym pisał <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br /><div class="quotetitle">szopler napisał(a):</div><div class="quotecontent"><br />ale jakbyś zobaczył co tam siedzi w przerwaniu to ...<br /></div><br />czyli jak najbardziej ma tego świadomość <img src="https://forum.atnel.pl/images/smilies/icon_exclaim.gif" alt=":!:" title="Wykrzyknik" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 18 lip 2012, o 13:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-07-18T12:06:09+01:00</updated>
<published>2012-07-18T12:06:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10123#p10123</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10123#p10123"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10123#p10123"><![CDATA[
Nie jest taka ciężka - ale jak mówiłem - nie ma prostego przepisu. A ten jak na niego patrzę to mi się (sorki niedobrze robi) jak widzę w procedurze obsługi przerwania wyświetlanie na LCD ?????!!!!!???? <br /><br />A sama organizacja Menu - no taka jakaś tam typowa. Natomiast Menu zdecydowanie milion razy łatwiej nie mówiąc już że tak jak się należy można zrobić na warstwach na LCD o których piszę cały rozdział w książce. Ale nie tylko na warstwach - po prostu obsługa Menu powinna być jako funkcja nieblokująca w pętli głównej programu albo jako zdarzenie przygotowana na potrzeby różnych funkcji. Szarpanie LCD w przerwaniu timera to zgroza.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 lip 2012, o 12:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-07-18T11:40:54+01:00</updated>
<published>2012-07-18T11:40:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10121#p10121</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10121#p10121"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10121#p10121"><![CDATA[
Znalazłem przykład menu zrobionego tak jak piszesz, ale jakbyś zobaczył co tam siedzi w przerwaniu to ... <img src="https://forum.atnel.pl/images/smilies/icon_eek.gif" alt=":shock:" title="Zaszokowany" /> <br />No nic, muszę zrozumieć jak to wielkie nagromadzenie wskaźników działa to może coś podpatrzę.<br /><br />[syntax=c]<br />typedef void (*FuncPtr)(void);<br />//function pointer<br />FuncPtr FPtr;<br />//Structure describes current menu and submenu state<br />struct Menu_State{<br /> uint8_t menuNo;//1,2,3,4<br /> uint8_t subMenuNo;//1,2,3<br />}MN;<br />//flag required for exiting from functions loops<br />uint8_t Flag=1;<br />//Menu Strings in flash<br />const uint8_t MN000[] PROGMEM=&quot;Menu Demo\0&quot;;<br />//menu 1<br />const uint8_t MN100[] PROGMEM=&quot;&lt;&lt;One Led&gt;&gt;\0&quot;;<br />//menu 1 submenus<br />const uint8_t MN101[] PROGMEM=&quot;R ON\0&quot;;<br />const uint8_t MN102[] PROGMEM=&quot;G ON\0&quot;;<br />const uint8_t MN103[] PROGMEM=&quot;B ON\0&quot;;<br />//menu 2<br />const uint8_t MN200[] PROGMEM=&quot;&lt;&lt;All ON/OFF&gt;&gt;\0&quot;;<br />//Submenus of menu 2<br />const uint8_t MN201[] PROGMEM=&quot;All ON\0&quot;;<br />const uint8_t MN202[] PROGMEM=&quot;All OFF\0&quot;;<br />//menu 3<br />const uint8_t MN300[] PROGMEM=&quot;&lt;&lt;Auto scroll&gt;&gt;\0&quot;;<br />//Submenus of menu 3<br />const uint8_t MN301[] PROGMEM=&quot;Left\0&quot;;<br />const uint8_t MN302[] PROGMEM=&quot;Right\0&quot;;<br />//menu 4<br />const uint8_t MN400[] PROGMEM=&quot;&lt;&lt;Blink All&gt;&gt;\0&quot;;<br />//submenus of menu 4<br />const uint8_t MN401[] PROGMEM=&quot;Blink Fast\0&quot;;<br />const uint8_t MN402[] PROGMEM=&quot;Blink Slow\0&quot;;<br />//more menus and submenus can be added.<br />//Arrays of pointers to menu strings stored in flash<br />const uint8_t *MENU[] ={<br />MN100,//menu 1 string<br />MN200,//menu 2 string<br />MN300,//menu 3 string<br />MN400//menu 4 string<br />};<br />const uint8_t *SUBMENU[] ={<br />MN101, MN102, MN103,//submenus of menu 1<br />MN201, MN202,//submenus of menu 2<br />MN301, MN302,//submenus of menu 3<br />MN401, MN402//submenus of menu 4<br />};<br /><br />//Menu structure<br />//[0] -Number of level 0 menu items<br />//[1]...[n] number of second level menu items<br />//Eg. MSTR2[1] shows that menu item 1 has 3 submenus<br />const uint8_t MSTR2[] PROGMEM ={<br />4,//number of menu items<br />3,//Number of submenu items of menu item 1<br />2,//of menu item 2<br />2,//of menu item 3<br />2//of menu item 4<br />}; <br />//Function prototypes<br />//Timer0 initialization<br />void Timer0_init(void);<br />//Initial menu<br />void menu_Init(void);<br />//Inits ports for buttons and LED's<br />void ports_Init(void);<br />//long delay (1s)<br />void delay1s(void);<br />//Functions for each menu item<br />void func101(void);<br />void func102(void);<br />void func103(void);<br />void func201(void);<br />void func202(void);<br />void func301(void);<br />void func302(void);<br />void func401(void);<br />void func402(void);<br /><br /><br />//Arrray of function pointers in Flash<br />const FuncPtr FuncPtrTable[] PROGMEM=<br />    { func101, func102, func103,//functions for submenus of menu 1<br />func201, func202, //functions for submenus of menu 2<br />func301, func302, //functions for submenus of menu 3<br />func401, func402//functions for submenus of menu 4<br />};<br /><br /><br />//SubMenu and Function table pointer update<br />uint8_t MFIndex(uint8_t, uint8_t);<br />//Timer0 overflow interrupt service routine<br />ISR(TIMER0_OVF_vect)<br />{<br />//if button UP pressed<br />if (bit_is_clear(BT_PIN, UP))<br />{<br />if (MN.menuNo&lt;pgm_read_byte(&amp;MSTR2[0]))<br />{ <br />MN.menuNo++;<br />MN.subMenuNo=1;<br />}<br />else<br />{<br />MN.menuNo=1;<br />}<br />LCDclr();<br />//Display menu item<br />CopyStringtoLCD(MENU[MN.menuNo-1], 0, 0 );<br />//Display submenu item<br />CopyStringtoLCD(SUBMENU[MFIndex(MN.menuNo, MN.subMenuNo)], 0, 1 );<br />//Assign function to function pointer<br />FPtr=(FuncPtr)pgm_read_word(&amp;FuncPtrTable[MFIndex(MN.menuNo, MN.subMenuNo)]);<br />//set Flag to 0 menas menu have changed <br />Flag=0;<br />//wait for button release<br />loop_until_bit_is_set(BT_PIN, UP);<br />}<br />//if Button DOWN pressed<br />if (bit_is_clear(BT_PIN, DOWN))<br />{<br />if (MN.menuNo==1)<br />{ <br />MN.menuNo=pgm_read_byte(&amp;MSTR2[0]);<br />MN.subMenuNo=1;<br />}<br />else<br />{<br />MN.menuNo--;<br />}<br />LCDclr();<br />//<br />CopyStringtoLCD(MENU[MN.menuNo-1], 0, 0 );<br />CopyStringtoLCD(SUBMENU[MFIndex(MN.menuNo, MN.subMenuNo)], 0, 1 );<br />FPtr=(FuncPtr)pgm_read_word(&amp;FuncPtrTable[MFIndex(MN.menuNo, MN.subMenuNo)]);<br />Flag=0;<br />loop_until_bit_is_set(BT_PIN, DOWN);<br />}<br />//If Button RIGHT pressed<br />if (bit_is_clear(BT_PIN, RIGHT))<br />{<br />if (MN.subMenuNo&lt;pgm_read_byte(&amp;MSTR2[MN.menuNo]))<br />{ <br />MN.subMenuNo++;<br />}<br />else<br />{<br />MN.subMenuNo=1;<br />}<br />LCDclr();<br />CopyStringtoLCD(MENU[MN.menuNo-1], 0, 0 );<br />CopyStringtoLCD(SUBMENU[MFIndex(MN.menuNo, MN.subMenuNo)], 0, 1 );<br />FPtr=(FuncPtr)pgm_read_word(&amp;FuncPtrTable[MFIndex(MN.menuNo, MN.subMenuNo)]);<br />Flag=0;<br />loop_until_bit_is_set(BT_PIN, RIGHT);<br />}<br />//If button LEFT pressed<br />if (bit_is_clear(BT_PIN, LEFT))<br />{<br />if (MN.subMenuNo==1)<br />{ <br />MN.subMenuNo=pgm_read_byte(&amp;MSTR2[MN.menuNo]);<br />}<br />else<br />{<br />MN.subMenuNo--;<br />}<br />LCDclr();<br />CopyStringtoLCD(MENU[MN.menuNo-1], 0, 0 );<br />CopyStringtoLCD(SUBMENU[MFIndex(MN.menuNo, MN.subMenuNo)], 0, 1 );<br />FPtr=(FuncPtr)pgm_read_word(&amp;FuncPtrTable[MFIndex(MN.menuNo, MN.subMenuNo)]);<br />Flag=0;<br />loop_until_bit_is_set(BT_PIN, LEFT);<br />}<br />}<br /><br />int main(void)<br />{<br />LCDinit();<br />LCDclr();<br />LCDhome();<br />//Welcome demo message<br />CopyStringtoLCD(MN000, 0, 0 );<br />delay1s();<br />//Init Buttons and LEDs ports<br />ports_Init();<br />LCDclr();<br />//Initial menu and initial function<br />menu_Init();<br />//init timer0 for key readings using overflow interrups<br />Timer0_init();<br />while(1)<br />{<br />//set flag to 1<br />//when button menu changes flag sets to 0<br />Flag=1;<br />//execute function that is pointed by FPtr<br />FPtr();<br />}<br />return 0;<br />}<br /><br />void menu_Init(void)<br />{<br /> MN.menuNo=1;<br />MN.subMenuNo=1;<br />LCDclr();<br />CopyStringtoLCD(MENU[(MN.menuNo-1)], 0, 0 );<br />CopyStringtoLCD(SUBMENU[(MN.subMenuNo-1)], 0, 1 );<br />FPtr=(FuncPtr)pgm_read_word(&amp;FuncPtrTable[0]);<br />}<br /><br />uint8_t MFIndex(uint8_t mn, uint8_t sb)<br />{<br />uint8_t p=0;//points to menu in table of function pointer <br />for(uint8_t i=0; i&lt;(mn-1); i++)<br />{<br />p=p+pgm_read_byte(&amp;MSTR2[i+1]);<br />}<br />p=p+sb-1;<br />return p;<br />}<br />[/syntax]<br /><br />Szczególnie ciężka linijka:<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />FPtr=(FuncPtr)pgm_read_word(&amp;FuncPtrTable[MFIndex(MN.menuNo, MN.subMenuNo)]);<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 18 lip 2012, o 11:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-07-18T06:52:16+01:00</updated>
<published>2012-07-18T06:52:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10101#p10101</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10101#p10101"/>
<title type="html"><![CDATA[Re: Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10101#p10101"><![CDATA[
Wg mnie (może się mylę) ale nie ma żadnego cudownego sposobu na MENU, szczególnie jeśli mowa o prockach. Sposobów może być tyle ilu programistów na świecie i każdy z nich może być najlepszy dla niego albo dla konkretnego rozwiązania. Obsługa Menu zwykle ściśle się wiąże z wyświetlaczem jaki stosujesz. A jedyne co można podpowiedzieć, to to aby zbudować sobie na bazie struktur i wskaźników poszczególne MenuItem'y. Jak do tego wziąć jeszcze sposób na fizyczne rozwiązania zdarzeń, obsługi urządzeń we/wy typu klawiaturka/przyciski czy pilot itp to już wychodzi ci z tego konkretny program ściśle dopasowany do twoich potrzeb i elektroniki, którą zrobiłeś.<br /><br />Jak zajmować najmniej pamięci na napisy w Menu ??<br /><br />utworzyć stringi z napisami we Flash a wskaźniki do nich zapisywać do struktur albo tablic wskaźników itp i po kłopocie - na każdy napis będziesz miał tylko tyle zużyte flasha co zawiera on bajtów.<br /><br />Popatrz sobie na rozdział i LCD i warstwach tam możesz zaczerpnąć sporo pomysłów na Menu i obsługę w zdarzeniach <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 lip 2012, o 06:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-07-18T00:31:57+01:00</updated>
<published>2012-07-18T00:31:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10098#p10098</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10098#p10098"/>
<title type="html"><![CDATA[Szukam pomysłu na oprogramowanie menu...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1294&amp;p=10098#p10098"><![CDATA[
Założenia:<br />- 2 do 3 poziomów,<br />- obsługa za pomocą 3 przycisków,<br />- obsługa w zdarzeniach,<br />- ma zajmować jak najmniej pamięci (napisy menu w pgmspace)<br /><br />Jakieś pomysły <img src="https://forum.atnel.pl/images/smilies/icon_idea.gif" alt=":idea:" title="Pomysł" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 18 lip 2012, o 00:31</p><hr />
]]></content>
</entry>
</feed>