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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-09-13T22:55:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=1536&amp;mode</id>
<entry>
<author><name><![CDATA[xamrex]]></name></author>
<updated>2012-09-13T22:55:44+01:00</updated>
<published>2012-09-13T22:55:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1536&amp;p=15084#p15084</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1536&amp;p=15084#p15084"/>
<title type="html"><![CDATA[Co lepsze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1536&amp;p=15084#p15084"><![CDATA[
Witam.<br />Mam takie pytanko.<br /><br />Ale najpierw kod:<br />Zakładamy, że tryb=='M'<br /><br />[syntax=c]<br />while(1){<br />if (tryb=='M'){ OCR0=red; OCR1=green; OCR2=blue; } //jesli tryb manualny to ustal piny PWM<br />if (tryb=='A'){} //jesli tryb auto to cos<br /><br />if (flaga==1){ //jesi przyszedl string<br />flaga=0; //skasuj flage<br />odczyt(); //odczyt z rsa<br />}<br />[/syntax]<br /><br />No i teraz tak,<br />Moja dioda będzie pracowała w 2 trybach Manualny(czyli my za pomocą suwaga zmieniamy wartość koloru), albo tryb automatyczny, czyli leci sobie tam tęcza..<br /><br /><br />No i teraz mam taki dylemat w jaki sposób lepiej napisać kod:<br />Bo jeśli mamy tryb manualny, to raczej często kolory się zmieniać nie będą (ustawimy jakiś dany kolor) i lampka będzie świeciła tak np. przez 30min. to po co mają być cały czas ustawiane końcówki <strong>OCR0=red; OCR1=green; OCR2=blue;</strong><br /><br />Czy nie lepiej zrobić tak, że jeśli będzie tryb manualny, to ustawiamy sobie jakąś flagę (bool Tryb_manualny)<br /><br />I kod piszemy wtedy tak:[syntax=c]<br />while(1){<br />if (Tryb_manualny){<br />OCR0=red; OCR1=green; OCR2=blue;  <br />Tryb_manualny=0;} //jesli tryb manualny to ustal piny PWM<br /><br /><br />if (tryb=='A'){} //jesli tryb auto to cos<br /><br />if (flaga==1){ //jesi przyszedl string<br />flaga=0; //skasuj flage<br />odczyt(); //odczyt z rsa<br />}<br />[/syntax]<br /><br />No i przy takiej postaci to uC nie będzie cały czas niepotrzebnie ustalał tych pinów, tylko będzie sprawdzał w kółko warunki...<br /><br /><br />Która wersja kodu jest lepsza?<br />Czy to ma jakieś znaczenie?<br />Chciałbym nauczyć się dobrych praktyk <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=74">xamrex</a> — 13 wrz 2012, o 22:55</p><hr />
]]></content>
</entry>
</feed>