<?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=10206&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-02-01T11:45:20+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=10206&amp;mode</id>
<entry>
<author><name><![CDATA[...kuba...]]></name></author>
<updated>2015-02-01T11:45:20+01:00</updated>
<published>2015-02-01T11:45:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116729#p116729</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116729#p116729"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116729#p116729"><![CDATA[
Witam. Według wskazówek porzuciłem sprzętowy kursor na rzecz programowego, ale zupełnie nie mogłem wpaść na pomysł jak zrobić, żeby mieć pewność, że po przejściu na kolejne pole, w polu które opuściliśmy pozostanie ustawiony znak, a nie symbol kursora, rozwiązałem to tak, że wciśnięcie klawisza rysuje dany znak niezależnie od wyświetlanego dotychczas (znak/kursor) i dopiero wtedy następuje przejście do nowego pola: <br />[syntax=c]if(!(PINC &amp; KEY_ENTER_PIN) ));<br /><br />lcd_str_P(PSTR(&quot;123456789abcdefg&quot;));<br />lcd_locate(1,0);<br />for ( unsigned char n = 0; n &lt; cnt_slave; ++n){// petla wyswietlajaca stan i ilość nawiewników<br />if(PWM_slave&#91;n&#93;&lt;2000) lcd_str(&quot;\x84&quot;);<br />else lcd_str(&quot;\x82&quot;);<br />}<br />lcd_str_P(PSTR(&quot;                &quot;)); <br />// kursor programowy<br />while(2==menu&amp;&amp;cnt_slave!=0 ){// wyjście z pętli i pętla aktywna pod warunkiem, że zotał wykryty chociaż 1 nawiew.<br /><br />// przesunięcie kursora wprawo<br />if(!(PINC &amp; KEY_P)&amp;&amp;(x+1)&lt;cnt_slave){<br />lcd_locate(1,x);<br />if(PWM_slave&#91;x++&#93;&lt;2000) lcd_str(&quot;\x84&quot;);// zapewnia pozostawienie znaku po opuszczeniu pola<br />else lcd_str(&quot;\x82&quot;);<br />}<br />// przesunięciekursora w lewo<br />if(!(PINC &amp; KEY_P )&amp;&amp;(x!=0)){<br />lcd_locate(1,x); <br />if(PWM_slave&#91;x--&#93;&lt;2000) lcd_str(&quot;\x84&quot;);// zapewnia pozostawienie znaku po opuszczeniu pola<br />else lcd_str(&quot;\x82&quot;);<br />}<br />lcd_locate(1,x);<br />// miganie kursora<br />if(ms10_flag!=ms10_cnt) {<br />if( 0 == (ms10_cnt%100)){<br />lcd_char('\xff');// symbol kursora z CGROM<br />}<br />if(  50 == (ms10_cnt%100) ){<br />if(PWM_slave&#91;x&#93;&lt;2000) lcd_str(&quot;\x84&quot;);<br />else lcd_str(&quot;\x82&quot;);<br /><br />}<br />ms10_flag=ms10_cnt;<br />}<br />// zmiana stanu nawiewnika na przeciwny<br />if(!(PINC &amp; KEY_ENTER_PIN )){ testbeep(); if(PWM_slave&#91;x&#93;&lt;2000){ PWM_slave&#91;x&#93;=2600; } else { PWM_slave&#91;x&#93;=1100; }}<br />// wyjście z podmenu<br />if(!(PINC &amp; KEY_EXIT_PIN )){ testbeep(); menu=1; }<br />}[/syntax]<br />Mógłbym prosić o ocenę sposobu zrealizowanego rozwiązania?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=408">...kuba...</a> — 1 lut 2015, o 11:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2015-01-30T10:28:40+01:00</updated>
<published>2015-01-30T10:28:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116544#p116544</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116544#p116544"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116544#p116544"><![CDATA[
Co racja to racja... Też po bojach z kursorem sprzętowym postanowiłem w projekcie, który niedawno skończyłem wykorzystać w edycji miganie zamiast kursora, którego kiedyś używałem w bascomie. Oczywiście przy lcd buforowanym zdecydowanie łatwiej się rózne migania realizuje... wszystko co związane z drukiem się łatwiej realizuje! <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=1922">SylwekK</a> — 30 sty 2015, o 10:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-01-30T09:54:07+01:00</updated>
<published>2015-01-30T09:54:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116539#p116539</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116539#p116539"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116539#p116539"><![CDATA[
<div class="quotetitle">...kuba... napisał(a):</div><div class="quotecontent"><br />Móglby mi ktoś powiedzieć jak rozwiązać ten problem?<br /></div><br />Tak - NAJPIERW trzeba zrozumieć jak działa sprzętowy kursor<br />a później wyłączyć go na zawsze i realizować go samemu sobie, np poprzez miganie znaku ..... (użyć warstw na LCD) ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sty 2015, o 09:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[...kuba...]]></name></author>
<updated>2015-01-30T09:44:40+01:00</updated>
<published>2015-01-30T09:44:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116535#p116535</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116535#p116535"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=116535#p116535"><![CDATA[
Witam ponownie. <br />Niestety nie uporałem się jeszcze z problemem, mianowicie po dodaniu 10ms opóźnienia kursor ładnie trzyma się w pozycji wyznaczonej przez lcd_locate(1,0). Chciałbym teraz za pomocą klawiszy KEY_L oraz KEY_P przesuwać kursor. W tym celu stworzyłem dwie dodatkowe funkcje w bibliotece LCD: <br />[syntax=c]void lcd_couros_shift_P(void)<br />{<br />lcd_write_cmd( LCDC_SHIFT|LCDC_SHIFTR);<br />}<br /><br />void lcd_couros_shift_L(void)<br />{<br />lcd_write_cmd( LCDC_SHIFT|LCDC_SHIFTL);<br />}[/syntax]<br /><br />i dzieje się tak, że kursor przeskakuje dosłownie na chwilę na drugą pozycję jednak zaraz funkcja lcd_locate(1,0) ściąga  go na początek linii.. Móglby mi ktoś powiedzieć jak rozwiązać ten problem? może zamiast wbudowanych komend do obsługi wyświetlacza służących do przesuwania kursora, robić to za pomocą funkcji lcd_locate(x,y), Głównie chodzi mi o to, żebym mógł zmieniać znak (0 lub 1) na wyświetlaczu w miejscu w którym znajduje się kursor. <br />[syntax=c]if(1==opcja){<br />if(!(PINC &amp; KEY_PIN) )) menu=2; //  ENTER +1 wejście do menu, +2 zatwierdzenie edycji<br /><br />lcd_str_P(PSTR(&quot;123456789abcdefg&quot;));<br />lcd_locate(1,0);<br />//lcd_str(&quot;                &quot;);<br />//lcd_cursor_on();<br />lcd_locate(1,0);<br />lcd_blink_on();<br />_delay_ms(100);<br />if(!(PINC &amp; KEY_L) )) lcd_couros_shift_L(); // przesuń kursor w lewo<br />if(!(PINC &amp; KEY_P) )) lcd_couros_shift_P(); // przesuń kursor w prawo<br />_delay_ms(1000);<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=408">...kuba...</a> — 30 sty 2015, o 09:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2015-01-15T15:47:05+01:00</updated>
<published>2015-01-15T15:47:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114221#p114221</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114221#p114221"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114221#p114221"><![CDATA[
<div class="quotetitle">...kuba... napisał(a):</div><div class="quotecontent"><br />nie wywołuję nigdzie funkcji blink a mimo to kursor powoli miga,<br /></div><br /><br />Pomiguje dlatego, że problem rozwiązałeś połowicznie... zauważ, gdy nie ustalałeś jego pozycji to uciekał z ekranu, a teraz pozostaje na miejscu jak mu locate dasz, ale on nadal na chwilę gdzieś zwiewa z tego samego powodu co wcześniej - coś ciągle gdzieś drukujesz..., a Ty go tylko na siłę ustawiasz we właściwym miejscu. Po prostu musisz przestawić myślenie i nieco inaczej skonstruować całe wyświetlanie tekstu i pokazywania kursora.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 15 sty 2015, o 15:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[WoodPaker]]></name></author>
<updated>2015-01-15T14:44:15+01:00</updated>
<published>2015-01-15T14:44:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114215#p114215</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114215#p114215"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114215#p114215"><![CDATA[
Pewnie po nim rysujesz gdzieś w kodzie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1425">WoodPaker</a> — 15 sty 2015, o 14:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[...kuba...]]></name></author>
<updated>2015-01-15T14:42:41+01:00</updated>
<published>2015-01-15T14:42:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114214#p114214</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114214#p114214"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114214#p114214"><![CDATA[
<div class="quotetitle">SylwekK napisał(a):</div><div class="quotecontent"><br />Jeśli chcesz go mieć w dowolnej pozycji to po jego aktywacji (i zawsze kiedy coś drukowałeś na ekranie) użyj locate - natychmiast się pojawi w miejscu przez Ciebie wskazanym.<br /></div> <br />Strzał w 10! <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> używałem locate ale przed włączeniem kursora;/ <br />A jeszcze jedno pytanie, bo nie wywołuję nigdzie funkcji blink a mimo to kursor powoli miga, to jego normalne zachowanie? czy w kodzie przypadkowo programu gaszę go w jakiś sposób?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=408">...kuba...</a> — 15 sty 2015, o 14:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2015-01-15T10:12:29+01:00</updated>
<published>2015-01-15T10:12:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114207#p114207</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114207#p114207"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114207#p114207"><![CDATA[
Nawet kiedy go włączysz, a tuż wcześniej był pisany tekst przez cały wyświetlacz to będzie on na ostatniej pozycji tekstu+1 czyli jeśli zapełniłeś 16 linii wyświetlacza to kursor stoi na ...17 pozycji czyli go nie widać.<br />Jeśli chcesz go mieć w dowolnej pozycji to po jego aktywacji (i zawsze kiedy coś drukowałeś na ekranie) użyj locate - natychmiast się pojawi w miejscu przez Ciebie wskazanym.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1922">SylwekK</a> — 15 sty 2015, o 10:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[...kuba...]]></name></author>
<updated>2015-01-15T09:10:50+01:00</updated>
<published>2015-01-15T09:10:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114204#p114204</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114204#p114204"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114204#p114204"><![CDATA[
Co do włączenia komendy w pliku nagłówkowym biblioteki, słuszna uwaga, ale włączyłem to już na samym początku, jak przyszła mi myśl, żeby korzystać z kursora..<br />Sprawa z uciekaniem kursora zaciekawiła mnie, bo chyba problem w tym, że nie wiem jak go używać, tzn, moment włączenia go to chwila w którym powinien się pojawić i zostać na danym polu, czy pojawi się dopiero na końcu po wpisaniu tekstu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=408">...kuba...</a> — 15 sty 2015, o 09:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SylwekK]]></name></author>
<updated>2015-01-14T15:05:04+01:00</updated>
<published>2015-01-14T15:05:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114101#p114101</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114101#p114101"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114101#p114101"><![CDATA[
A mi się wydaje, że kursor może Ci uciekać za ekran po wydruku <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Przerabiałem podobny problem <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=1922">SylwekK</a> — 14 sty 2015, o 15:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2015-01-14T12:55:50+01:00</updated>
<published>2015-01-14T12:55:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114083#p114083</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114083#p114083"/>
<title type="html"><![CDATA[Re: LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114083#p114083"><![CDATA[
W pliku naglowkowym lcd44780.h trzeba wlaczyc <br /><br />[syntax=c]#define USE_LCD_CURSOR_ON  1  // (domyslnie jest 0)[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 14 sty 2015, o 12:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[...kuba...]]></name></author>
<updated>2015-01-14T10:58:31+01:00</updated>
<published>2015-01-14T10:58:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114076#p114076</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114076#p114076"/>
<title type="html"><![CDATA[LCD 2x16 (hd44780) włączenie wyświetlania kursora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10206&amp;p=114076#p114076"><![CDATA[
Witam, jestem w trakcie tworzenia menu (w języku C na ATmega16 11. 0592MHz) Korzystam z gotowej biblioteki Pana Mirka z BlueBooka, i mam problem z włączeniem kursora, mianowicie po wywołaniu funkcji do jego wyświetlenia, kursor pojawia się na chwilę i znika. Dodam, że usunięcie funkcji gaszenia kursora nic nie pomogło;/ co może być nie tak, że kursor nie jest ciągle wyświetlany?<br />W tym miejscu jest wywołany:<br />[syntax=c]case 2:<br />//************* EDYCJA 1 OPCJI *************<br />lcd_locate(0,0);<br />if(1==opcja){<br />lcd_str_P(PSTR(&quot;123456789abcdefg&quot;));<br />lcd_locate(1,0);<br />lcd_str(&quot;abc&quot;)<br />lcd_locate(1,0);<br />lcd_cursor_on();                  /** włącz kursor **/<br />}[/syntax]<br />a tu gaszony:<br />[syntax=c]switch(opcja)<br />{<br />case 1:<br />lcd_str_P(PSTR(&quot;&lt; Ster. reczne &gt;&quot;));<br />lcd_cursor_off();                              /** wygaś kursor **/<br />break;[/syntax]<br /><br />[syntax=c]switch(menu)<br />{<br /> case 1:<br /><br /> // wyświetlenie napisu MENU w pierwszej lini<br />lcd_locate(0,0);<br />lcd_str_P(PSTR(&quot;      MENU      &quot;));<br />lcd_locate(1,0);<br /><br />// UWAGA ZNIENNA OPCJA ZAINICJALIZOWANA WARTOSCIA 1<br />if(Switch(&amp;PINC, KEY1_PIN)){testbeep();if(!(++opcja&lt;6))  opcja=1; }<br />if(Switch(&amp;PINC, KEY2_PIN)){testbeep(); if(--opcja==0) opcja=5; }<br /><br />// ************* GLOWNE MENU *************<br />switch(opcja)<br />{<br />case 1:<br />lcd_str_P(PSTR(&quot;&lt; Ster. reczne &gt;&quot;));<br />lcd_cursor_off();                              /** wygaś kursor **/<br />break;<br />case 2:<br />lcd_str_P(PSTR(&quot;&lt; TEMPERATURA  &gt;&quot;));<br />break;<br />case 3:<br />lcd_str_P(PSTR(&quot;&lt;  WILGOTNOSC  &gt;&quot;));<br />break;<br />case 4:<br />lcd_str_P(PSTR(&quot;&lt; Ilosc nawiew.&gt;&quot;));<br />break;<br />case 5:<br />lcd_str_P(PSTR(&quot;&lt;  Ustawienia  &gt;&quot;));<br />break;<br />default:<br />break;<br />}<br />break;<br /><br />case 2:<br />//************* EDYCJA 1 OPCJI *************<br />lcd_locate(0,0);<br />if(1==opcja){<br />lcd_str_P(PSTR(&quot;123456789abcdefg&quot;));<br />lcd_locate(1,0);<br />lcd_str(&quot;abc&quot;)<br />lcd_locate(1,0);<br />lcd_cursor_on();                  /** włącz kursor **/<br />}<br />if(2==opcja){<br /><br />lcd_str_P(PSTR(&quot;  TEMPERATURA   &quot;));<br />lcd_locate(1,0);<br />lcd_str(&quot;-     &quot;);<br />lcd_int(temp_var);<br />lcd_str(&quot;\x81&quot;);<br />lcd_str(&quot;C     &quot;);<br />lcd_locate(1,15);<br />lcd_str(&quot;+&quot;);<br />if(SuperDebounce(&amp;PINC, KEY1_PIN, 30, 1 )){  //jesli kawisz 1 wcisniety<br />temp_var++;<br />}<br />if(SuperDebounce(&amp;PINC, KEY2_PIN, 30, 1 )){  //jesli kalwisz 2 wcisniety<br />temp_var--;<br />}<br />}<br />//************* EDYCJA 2 OPCJI *************<br />if(3==opcja){<br /><br />lcd_str_P(PSTR(&quot;   WILGOTNOSC   &quot;));<br />lcd_locate(1,0);<br />lcd_str(&quot;-     &quot;);<br />lcd_int(humid_var);<br />lcd_str(&quot;%      &quot;);<br />lcd_locate(1,15);<br />lcd_str(&quot;+&quot;);<br />if(SuperDebounce(&amp;PINC, KEY1_PIN, 30, 1 )){  // jesli kawisz 1 wcisniety<br />humid_var++;<br />}<br />if(SuperDebounce(&amp;PINC, KEY2_PIN, 30, 1 )){  // jesli kalwisz 2 wcisniety<br />humid_var--;<br />}<br />}<br />//************* EDYCJA 3 OPCJI *************<br />if(4==opcja){<br />for ( unsigned char n = 0; n &lt; cnt_slave; ++n){// petla wyswietlajaca stan i ilość nawiewników<br />lcd_str(&quot;\x84&quot;);<br />}<br />lcd_locate(1,0);<br />lcd_int(cnt_slave);<br />lcd_str_P(PSTR(&quot;               &quot;));<br /><br />}<br />//************* EDYCJA 4 OPCJI *************<br />if(5==opcja){<br /><br />/** zrobić zabezpieczenie przed szybką zmianą **/<br /><br />lcd_str_P(PSTR(&quot;   USTAWIENIA   &quot;));<br />lcd_locate(1,0);<br />if (1==led_stan){<br />lcd_str(&quot; LED: ON        &quot;);<br />}<br />else{<br />lcd_str(&quot; LED: OFF       &quot;);<br />}<br />if(SuperDebounce(&amp;PINC, KEY1_PIN, 30, 1 )){  // jesli kawisz 1 wcisniety<br />if( 0==led_stan )<br />for ( unsigned char i = 0; i &lt;= cnt_slave; ++i){<br />UART_Transmit( slave_adres&#91;i&#93;, 'r', &quot;o&quot;, 0 );<br />}<br />led_stan=1;<br />}<br />if(SuperDebounce(&amp;PINC, KEY2_PIN, 30, 1 )){  // jesli kalwisz 2 wcisniety<br />if( 1==led_stan )<br />for ( unsigned char i = 0; i &lt;= cnt_slave; ++i ){<br />UART_Transmit( slave_adres&#91;i&#93;, 'r', &quot;f&quot;, 0 );<br />}<br />led_stan=0;<br />}<br />}<br />break;<br /><br />//*************  GŁÓWNY EKRAN  *************<br />default:<br /><br />if(error != 0)<br />{<br />   lcd_locate(0,0);<br />   lcd_str_P(PSTR(&quot;Brak czujnika!&quot;));<br />   lcd_locate(1,0);<br />   lcd_str_P(PSTR(&quot;                &quot;));<br />}<br />else<br />{<br />   lcd_locate(0,0);<br />   lcd_str_P(PSTR(&quot;T: &quot;));<br />   if(temp_val.i &lt; 0) lcd_char('-');<br />   temp_val.i = abs(temp_val.i);<br />   lcd_int(temp_val.i/10);<br />   lcd_char('.');<br />   lcd_int(temp_val.i%10);<br />   lcd_str(&quot;\x81&quot;);<br />   lcd_str(&quot;C&quot;);<br />   lcd_int(ascii_line);<br />   lcd_str(&quot;\x80&quot;);// tylko do testu odebranej temp z slave<br />   lcd_int(temp_slave&#91;0&#93;);// tylko do testu odebranej temp z slave<br />   lcd_str(&quot;  &quot;);// tylko do testu odebranej temp z slave<br /><br />   lcd_locate(1,0);<br />   lcd_str_P(PSTR(&quot;RH: &quot;));<br />   lcd_int(humid_val.i);<br />//   lcd_str(&quot;%       &quot;);// tylko do testu odebranej PWM z slave<br />   lcd_str(&quot;% &quot;);// tylko do testu odebranej PWM z slave<br />   lcd_int(PWM_slave);<br />   lcd_str(&quot;   &quot;);<br />}<br />}<br />}[/syntax][/quote]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=408">...kuba...</a> — 14 sty 2015, o 10:58</p><hr />
]]></content>
</entry>
</feed>