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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-09-27T12:07:02+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=5&amp;t=23352&amp;mode</id>
<entry>
<author><name><![CDATA[blendski]]></name></author>
<updated>2020-09-27T12:07:02+01:00</updated>
<published>2020-09-27T12:07:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229113#p229113</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229113#p229113"/>
<title type="html"><![CDATA[Re: GB- transmisja IR problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229113#p229113"><![CDATA[
Bardzo dziękuję za odpowiedź, nie będzie mnie już ta zagadka męczyć <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21578">blendski</a> — 27 wrz 2020, o 12:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-09-27T09:40:10+01:00</updated>
<published>2020-09-27T09:40:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229107#p229107</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229107#p229107"/>
<title type="html"><![CDATA[Re: GB- transmisja IR problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229107#p229107"><![CDATA[
Qurczę to ewidentny błąd - taka programistyczna literówka - oczywiście, że nie powinno być tak:<br /><br /><br />[syntax=c]DDRD |= KL1|KL2;[/syntax]<br /><br />tylko jak już to albo tak<br /><br />[syntax=c]DDRD &amp;= ~(KL1|KL2);[/syntax]<br /><br />albo w ogóle mogłoby nie być tej linijki, bo piny są po restarcie i tak wejściami ... Zwykle takie błędziorki zdarzają się gdy kopiuję jakiś fragment kodu z innego ćwiczenia i przerabiam pod inne ćwiczenie - a coś pominę - no i tu chyba mocno pominąłem, albo z rozpędu wszystko na wyjścia ustawiłem, przepraszam.<br /><br />To że działa to z ustawionymi pinami na wyjścia to bardzo niedobrze - bo przyciskiem robi się zwarcie do GND, rejestr PIND może to wykrywać czyli ten stan niski, no ale jest to niezdrowe dla fizycznych pinów procka i przy dłuższym wciśnięciu przycisku może nawet dojść do uszkodzenia pinu procka. Więc zgodnie z tym co czujesz i ze swoją wątpliwością popraw to w kodzie bo masz rację, że w tym kodzie jest coś nie tak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 wrz 2020, o 09:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[blendski]]></name></author>
<updated>2020-09-27T09:16:34+01:00</updated>
<published>2020-09-27T09:16:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229106#p229106</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229106#p229106"/>
<title type="html"><![CDATA[Re: GB- transmisja IR problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229106#p229106"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />podaj nr strony i miejsce w książce i który to przykład w kodach z GB - wtedy łatwiej będzie mi ew zajrzeć i sprawdzić bo chyba nie sądzisz, że po tylu latach od napisania książki mogę pamiętać takie szczegóły<br /></div><br />Chodzi mi dokładnie o stronę 68 w GB (przykład L04_nadajnik_SIRCS), gdzie piny klawiszy są ustawione na wyjście w funkcji main, a następnie w pętli while sprawdzany jest warunek wciśniętego klawisza:<br /><br />[syntax=c]int main (void){<br />        ...<br />DDRD |= KL1|KL2;// klawisze - wyjścia<br />PORTD |= KL1|KL2;// klawisze - podciąganie<br />        ...<br />        while(1){<br />            ...<br />            // obsługa klawisza nr1<br />            if( !(PIND &amp; KL1) ) {<br />                ...<br />    }<br /><br />            // obsługa klawisza nr2<br />    if( !(PIND &amp; KL2) ) {<br />                ...<br />    }<br />}<br />}[/syntax]<br /><br />tak samo wygląda sytuacja na stronie 74 (przykład L05_transmisja_IR - tylko inne piny zostały zastosowane względem przykłady L04, ale wygląda to tak samo jak opisałem wyżej).<br />Dodam właśnie, że wgrywałem na moje ATB 1.05a program z książki oraz z zamienionym kierunkiem pinów na wejścia i oba sposoby działały ale rozchodzi mi się o to czy w książce jest jakiś konkretny powód, żeby ustawić te piny klawiszy na wyjście. Cały kod dokładnie analizowałem i nie mogę do tego dojść, gdyż nigdzie nie widzę aby te piny były w jakimś przerwaniu czy w innym miejscu ustawione na wejście.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21578">blendski</a> — 27 wrz 2020, o 09:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-09-26T18:38:46+01:00</updated>
<published>2020-09-26T18:38:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229097#p229097</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229097#p229097"/>
<title type="html"><![CDATA[Re: GB- transmisja IR problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229097#p229097"><![CDATA[
<div class="quotetitle">blendski napisał(a):</div><div class="quotecontent"><br />i wszystko działa lecz zakładam, że skoro piny klawiszy zostały ustawione na wyjście w przykładach to jest w tym jakiś większy cel którego nie mogę dostrzec.<br /></div><br />podaj nr strony i miejsce w książce i który to przykład w kodach z GB - wtedy łatwiej będzie mi ew zajrzeć i sprawdzić bo chyba nie sądzisz, że po tylu latach od napisania książki mogę pamiętać takie szczegóły<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 wrz 2020, o 18:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[blendski]]></name></author>
<updated>2020-09-26T17:02:33+01:00</updated>
<published>2020-09-26T17:02:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229095#p229095</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229095#p229095"/>
<title type="html"><![CDATA[Re: GB- transmisja IR problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229095#p229095"><![CDATA[
Wybudzanie procka było w BB i wtedy jak najbardziej uzasadnione było początkowe ustawienie pinów na wyjście, gdyż przyciski połączone były z pinem INTx. W dziale o którym piszę nie ma mowy o takim zastosowaniu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21578">blendski</a> — 26 wrz 2020, o 17:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2020-09-26T16:40:38+01:00</updated>
<published>2020-09-26T16:40:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229094#p229094</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229094#p229094"/>
<title type="html"><![CDATA[Re: GB- transmisja IR problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229094#p229094"><![CDATA[
Przeczytaj ten rozdział jeszcze raz bo one nie bez powodu są ustawione  na wyjścia (chodzi o wybudzanie procka).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 26 wrz 2020, o 16:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[blendski]]></name></author>
<updated>2020-09-26T15:51:07+01:00</updated>
<published>2020-09-26T15:51:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229092#p229092</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229092#p229092"/>
<title type="html"><![CDATA[GB- transmisja IR problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23352&amp;p=229092#p229092"><![CDATA[
Witam,<br />Po przestudiowania BB zabrałem się za GB i w rozdziale &quot;Nadajnik podczerwieni- własne piloty&quot; i &quot; Transmisja własnych danych w podczerwieni&quot; nie mogę dojść do tego dlaczego piny dla klawiszy są ustawione na wyjście? <br /><br />[syntax=c]DDRx |= KL1|KL2;// klawisze - wyjścia<br />PORTx |= KL1|KL2;// klawisze - podciąganie[/syntax]<br /><br />a następnie w pętli while jest sprawdzany warunek :<br /><br />[syntax=c]if( !(PINx &amp; KL1) ) {...}<br />if( !(PINx &amp; KL2) ) {...}[/syntax]<br /><br />Chodzi mi o poprawność zapisu, czy nie powinno być &quot;DDRx &amp;= ~(KL1|KL2);&quot; lub pominięte ze względu na zerowanie rejestru DDRx po resecie?<br />Oczywiście ustawiając piny dla klawiszy na wyjście (jak w przykładzie) i podając stan wysoki, po &quot;ściągnięciu&quot; pinu do masy (czyli w naszym przypadku wciśnięcie przycisku), w rejestrze PINx na pozycji danego pinu będzie &quot;0&quot; lecz czy to jest prawidłowa metoda? <br />Oczywiście obie metody testowałem i wszystko działa lecz zakładam, że skoro piny klawiszy zostały ustawione na wyjście w przykładach to jest w tym jakiś większy cel którego nie mogę dostrzec.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21578">blendski</a> — 26 wrz 2020, o 15:51</p><hr />
]]></content>
</entry>
</feed>