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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-12-05T09:18:43+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16980&amp;mode</id>
<entry>
<author><name><![CDATA[amilo_pa]]></name></author>
<updated>2016-12-05T09:18:43+01:00</updated>
<published>2016-12-05T09:18:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176565#p176565</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176565#p176565"/>
<title type="html"><![CDATA[Re: Połączenie instrukcji switch z instrukcją if oraz RC5]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176565#p176565"><![CDATA[
Etykieta RESET ma wartość 62 - jest to wartość jednego z klawiszy. Tak, zarówno zmienna LED4_3, podpięty wyświetlacz LCD z wypisywaną wartością chose_led[1] oraz maksymalne rozbłyśnięcie diody RGB kolorem białym. Tak więc mam potrójne sprawdzenie <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=3824">amilo_pa</a> — 5 gru 2016, o 09:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sparrow-hawk]]></name></author>
<updated>2016-12-05T08:44:18+01:00</updated>
<published>2016-12-05T08:44:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176561#p176561</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176561#p176561"/>
<title type="html"><![CDATA[Re: Połączenie instrukcji switch z instrukcją if oraz RC5]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176561#p176561"><![CDATA[
Jaką wartość ma etykieta RESET? Rozumiem, że do detekcji wejścia w blok switch służy Ci ten LED4_3? I że masz pewność, że blok ten jest wykonywany <br />gdy chose_led[1] jest równe 1?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10614">Sparrow-hawk</a> — 5 gru 2016, o 08:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[amilo_pa]]></name></author>
<updated>2016-12-05T00:18:50+01:00</updated>
<published>2016-12-05T00:18:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176554#p176554</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176554#p176554"/>
<title type="html"><![CDATA[Re: Połączenie instrukcji switch z instrukcją if oraz RC5]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176554#p176554"><![CDATA[
Hej,<br />Kolego <em>janusz17</em>, wyświetlam wartość tablicy na wyświetlaczu LCD i ładnie zmienia się jej wartość w zależności od wciśniętego klawisza.<br />Więc program wchodzi w tego case'a.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3824">amilo_pa</a> — 5 gru 2016, o 00:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janusz17]]></name></author>
<updated>2016-12-04T13:14:49+01:00</updated>
<published>2016-12-04T13:14:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176472#p176472</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176472#p176472"/>
<title type="html"><![CDATA[Re: Połączenie instrukcji switch z instrukcją if oraz RC5]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176472#p176472"><![CDATA[
Może sprawdź na początek czy ta linijka kodu case SUBMIT: na pewno się wykonuje. Podłącz jakiegoś leda i zapalaj go w tej linii kodu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1226">janusz17</a> — 4 gru 2016, o 13:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[amilo_pa]]></name></author>
<updated>2016-12-04T11:12:25+01:00</updated>
<published>2016-12-04T11:12:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176458#p176458</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176458#p176458"/>
<title type="html"><![CDATA[Połączenie instrukcji switch z instrukcją if oraz RC5]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16980&amp;p=176458#p176458"><![CDATA[
Witam.<br />Mam zadeklarowaną tablicę globalną:<br />[syntax=c]uint8_t chose_led &#91;3&#93;;[/syntax]<br />oraz napisaną instrukcję w wywoływaną po wciśnięciu klawisza z pilota:<br />[syntax=c]/* ****** ZDARZENIE Z ODBIORNIKA PODCZERWIENI ********** */<br />if(Ir_key_press_flag) {/* jeśli odebrano prawidłowe kody z pilota */<br /><br />if(chose_led&#91;1&#93; != 1)<br />{<br />switch (command)//na podstawie kodu klawisza wybierana jest dioda do obróbki<br />{<br />case 0:<br />;<br />break;<br />case 1://wybór diody RGB umieszczonej w kominie<br />chose_led&#91;0&#93; = 1;//do obróbki została wybrana dioda w kominie<br />selected_rgb = chimney;<br />selected_rgb.color&#91;S&#93;= 0;<br />selected_rgb.color&#91;V&#93;= 255;<br />//selected_rgb.color&#91;B&#93;= 255;<br />selected_rgb.LED_timer = 2000;<br />PORT(LED4_3PORT) ^= (1&lt;&lt;LED4_3);<br /><br />break;<br />case 2:<br />;<br />break;<br />                 case SUBMIT://wciśnięty został klawisz OK zatwierdzający wybór (SUBMIT = 23)<br />chose_led&#91;1&#93; = 1;//zapobiegnięcie ponownemu wejściu w tą pętlę<br />break;<br />default: /* instrukcje, jeśli żaden z wcześniejszych warunków nie został spełniony */<br />;<br />break;<br />}<br />}<br /><br />if(chose_led &#91;1&#93; == 1 &amp;&amp; command == RESET){ //RESET - klawisz &quot;txt&quot;<br />chose_led&#91;1&#93; = 0; // skasowanie zatwierdzenia wybrania diody do obróbki<br />}<br /><br /><br />if (command == BRIGHTNES_UP || command == BRIGHTNES_DOWN)//ściemnianie i rozjaśnianie diody<br />{<br />selected_rgb.value_max= set_max_brightness (command, selected_rgb.value_max, selected_rgb.period_time);<br />selected_rgb.timer_set = *new_time_set;<br />}<br /><br /><br />if (command == TIMER_FAST || command == TIMER_SLOW){//zwiększenie lub spowolnienie mrugania diody<br />selected_rgb.timer_set = time_change(command, selected_rgb.value_max, selected_rgb.period_time);<br />selected_rgb.period_time = *new_period_time;<br />selected_rgb.value_max = set_max_brightness (command, selected_rgb.value_max, selected_rgb.period_time);<br />}<br /><br /><br />if (command == SATURATION_UP || command == SATURATION_DOWN){<br />selected_rgb.saturation_max=set_max_saturation(command, selected_rgb.saturation_max);<br />}<br />                           <br /><br />                         chimney = selected_rgb;<br /><br /><br />/* wyzerowanie flagi odbioru oraz wartości odebranych kodów */<br />Ir_key_press_flag=0;<br />command=0xff;<br />address=0xff;<br /><br /><br /><br />}<br />}[/syntax]<br /><br />Kłopot polega na tym, że po wpisaniu wartości 1 do tablicy chose_led[1] (fragment kodu:<br />[syntax=c]case SUBMIT://wciśnięty został klawisz OK zatwierdzający wybór (SUBMIT = 23)<br /> chose_led&#91;1&#93; = 1;//zapobiegnięcie ponownemu wejściu w tą pętlę<br /> break;[/syntax]<br /><br />wciśnięcie dowolnego klawisz powoduje ponowne wejście w instrukcję switch. Tak jakby warunek if(chose_led[1] != 1) w ogóle nie był brany pod uwagę. Dlaczego tak się dzieje?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3824">amilo_pa</a> — 4 gru 2016, o 11:12</p><hr />
]]></content>
</entry>
</feed>