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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-08-07T08:00:19+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1376&amp;mode</id>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-08-07T08:00:19+01:00</updated>
<published>2012-08-07T08:00:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11995#p11995</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11995#p11995"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11995#p11995"><![CDATA[
Tak. Zlicza oba zbocza, ale można to poprawić.<br />[syntax=c]switch ( (stan_portu ^ poprzedni_stan) &amp; stan_portu ) {[/syntax]<br />Teraz port musi i się zmienić i zmienić się na 0 (po zanegowaniu 1).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 7 sie 2012, o 08:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-06T20:54:04+01:00</updated>
<published>2012-08-06T20:54:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11973#p11973</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11973#p11973"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11973#p11973"><![CDATA[
[syntax=c]void obsluga_pulsow(void) {<br />    if (_FLAGA.CheckPort == FLAG_S) {<br /><br />switch (stan_portu ^ poprzedni_stan) {<br />case 1: PULSE.A++;break;<br />case 2:PULSE.B++;break;<br />case 3:PULSE.A++; PULSE.B++;break;<br />case 4:PULSE.C++;break;<br />case 5:PULSE.A++; PULSE.C++;break;<br />case 6: PULSE.B++; PULSE.C++;break;<br />case 7:PULSE.A++; PULSE.B++; PULSE.C++;break;<br />case 8:PULSE.D++;break;<br />case 9:PULSE.A++; PULSE.D++;break;<br />case 10:PULSE.B++; PULSE.D++;break;<br />case 11:PULSE.A++; PULSE.B++; PULSE.D++;break;<br />case 12:PULSE.C++; PULSE.D++;break;<br />case 13:PULSE.A++; PULSE.C++; PULSE.D++;break;<br />case 14:PULSE.B++; PULSE.C++; PULSE.D++;break;<br />case 15:PULSE.A++; PULSE.B++; PULSE.C++; PULSE.D++;break;<br />}<br />_FLAGA.CheckPort = FLAG_R;<br />poprzedni_stan = stan_portu;<br />    }<br />}[/syntax]<br />[syntax=c]ISR(PCINT0_vect)<br />{<br />    stan_portu = ~(PINA) &amp; 0b00001111;<br />    _FLAGA.CheckPort = FLAG_S;<br />}[/syntax]<br /><br />Mam dziwne wrażenie, że teraz zlicza oba zbocza...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 6 sie 2012, o 20:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-08-06T19:17:21+01:00</updated>
<published>2012-08-06T19:17:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11967#p11967</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11967#p11967"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11967#p11967"><![CDATA[
To musisz przebudować program, bo zmiana stanu powoduje odczyt. Ciągłe zero jest traktowane jako zmiana stanu również pod warunkiem, że inne wejście wyzwoliło przerwanie od zmiany stanu. Musisz zapamiętać ostatni stan każdego bitu i jak się nie zmienił to usunąć go przed instrukcją switch. Do tego celu dobrze nadaje się XOR (^).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 6 sie 2012, o 19:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-06T18:56:45+01:00</updated>
<published>2012-08-06T18:56:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11962#p11962</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11962#p11962"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11962#p11962"><![CDATA[
OK.<br /><br />Jest jeszcze jeden poważny babool nad którym pracuję <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<br />Jak pod jeden pin podłączę generator a pod drugi przycisk i wcisnę przycisk to licznik do niego przypisany liczy w tempie generatora zamiast wykonać jedno zliczenie i stop.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 6 sie 2012, o 18:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-08-06T18:10:50+01:00</updated>
<published>2012-08-06T18:10:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11958#p11958</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11958#p11958"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11958#p11958"><![CDATA[
W programie dałem błędny warunek, bo powinno być<br />[syntax=c]if( (pinState != 0x0F) &amp;&amp; (pinState != 0x00) )[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 6 sie 2012, o 18:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-06T14:57:46+01:00</updated>
<published>2012-08-06T14:57:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11940#p11940</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11940#p11940"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11940#p11940"><![CDATA[
Podłączenie jest takie: PB0 --&gt;|-- rezystor - GND<br />Od razu po wgraniu programu zapala się LED niezależnie od taktowania nawet jak do portu PA nie jest nic podłączone.<br />W kodzie chyba zabrakło '&amp;' <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<br /><br />Jest        PORTB = ~(1&lt;&lt;PB0);<br />Powinno być       PORTB &amp;= ~(1&lt;&lt;PB0);<br /><br />I tak led od razu ON.<br /><br />Faktycznie jak generuję prostokąt na jednym z pinów i podłączę do wejść to liczy poprawnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 6 sie 2012, o 14:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-08-06T14:34:09+01:00</updated>
<published>2012-08-06T14:34:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11936#p11936</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11936#p11936"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11936#p11936"><![CDATA[
<div class="quotetitle">szopler napisał(a):</div><div class="quotecontent"><br />Led zapala się natychmiast <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /></div><br />Led powinna być wpięta pomiędzy wyjście a masę. Mam nadzieję, że kod jest dobry.<br />A co jak nie podasz sygnału?<br />A jak się zachowuje przy obniżonym taktowaniu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 6 sie 2012, o 14:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-06T13:58:19+01:00</updated>
<published>2012-08-06T13:58:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11928#p11928</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11928#p11928"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11928#p11928"><![CDATA[
Przed chwilką sprawdziłem jeszcze raz i nadal nie ma róznicy pomiędzy poszczególnymi licznikami, a kręci się już chyba od 10 rano<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 6 sie 2012, o 13:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-06T13:47:05+01:00</updated>
<published>2012-08-06T13:47:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11926#p11926</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11926#p11926"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11926#p11926"><![CDATA[
Zabieram się zatem za testy...<br /><div class="quotetitle">Krauser napisał(a):</div><div class="quotecontent"><br />1. Inny prosty test. Piny Porta.0..4 nadal masz połączone razem i do generatora.<br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />int main(void)<br />{<br />   uint8_t pinState;<br />   DDRB |= (1&lt;&lt;PB0);<br />   PORTA = 0xFF;<br />   PORTB = ~(1&lt;&lt;PB0);<br />   PORTC = 0xFF;<br />   //CLKPR = (1&lt;&lt;CLKPCE);<br />   //CLKPR = (1&lt;&lt;CLKPS3); //preskaler 256<br />   while(1)<br />   {<br />      pinState = PINA &amp; 0x0F;<br />      if( (pinState != 0x0F) || (pinState != 0x00) )<br />      {<br />         PORTB |= (1&lt;&lt;PB0); //podłącz tu LED<br />      }<br />   }<br />   return 0;<br />}[/syntax]<br />skoro piny są spięte razem to LED nigdy się nie powinien zapalić.<br />2. Spróbuj zmniejszyć częstotliwość taktowania (linie wyłączone poprzez komentarz)<br /></div><br /><br />Led zapala się natychmiast <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=82">szopler</a> — 6 sie 2012, o 13:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-06T09:20:35+01:00</updated>
<published>2012-08-06T09:20:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11908#p11908</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11908#p11908"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11908#p11908"><![CDATA[
Więc tak ..... udało mi się wywyołać taki przypadek jak u ciebie. U  mnie powodem takiej sytuacji było to że nie było prawidłowego styku do portów.<br /><br />Postaram się to w miarę przejrzyście opisać.<br />Test zrobiłem na timerze który masz odpalony zmieniając stan jednego z wyjść co 2ms, wejście podpiełem pod nózki od przerwań PCINT.<br /><br />I tak, jeżeli nie odłączałem nóżki &quot;mojego generatora&quot; to się kręciło jak należy, ale w momencie jak zacząłem podłączać i odłączać w miarę szybko kabelek to liczniki sie rozjechały jak siemasz. <br />Dla mnie wniosek jest taki że w przypadku microswicha jednak dużą rolę odgrywają drgania styków ponieważ uC nie ma na tyle dużo czasu aby prawidłowo odczytać stany na nóżkach od przerwań. Skoro u ciebie rozjeżdżają się za każdym razem to myślę że jest problem gdzieś z jakością połączeń lub z zakłóceniami.<br />Jeżeli się mylę to bardzo proszę o naprostowanie mojego rozumowania <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> za co będę bardzo wdzięczny <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=225">Malutki_27</a> — 6 sie 2012, o 09:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-08-06T08:09:40+01:00</updated>
<published>2012-08-06T08:09:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11900#p11900</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11900#p11900"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11900#p11900"><![CDATA[
1. Inny prosty test. Piny Porta.0..4 nadal masz połączone razem i do generatora.<br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />int main(void)<br />{<br />   uint8_t pinState;<br />   DDRB |= (1&lt;&lt;PB0);<br />   PORTA = 0xFF;<br />   PORTB = ~(1&lt;&lt;PB0);<br />   PORTC = 0xFF;<br />   //CLKPR = (1&lt;&lt;CLKPCE);<br />   //CLKPR = (1&lt;&lt;CLKPS3); //preskaler 256<br />   while(1)<br />   {<br />      pinState = PINA &amp; 0x0F;<br />      if( (pinState != 0x0F) || (pinState != 0x00) )<br />      {<br />         PORTB |= (1&lt;&lt;PB0); //podłącz tu LED<br />      }<br />   }<br />   return 0;<br />}[/syntax]<br />skoro piny są spięte razem to LED nigdy się nie powinien zapalić.<br />2. Spróbuj zmniejszyć częstotliwość taktowania (linie wyłączone poprzez komentarz)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 6 sie 2012, o 08:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-06T08:05:49+01:00</updated>
<published>2012-08-06T08:05:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11899#p11899</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11899#p11899"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11899#p11899"><![CDATA[
Hmmmm, więc tak ...... wgrałem Twój programik u siebie na płytkę i zasuwa jak ta lala. Nawet się nie chce pomylić o jeden, a robi już jakieś 20 okrążenie.<br />Jedyna różnica jest taka że ja akurat w tej chwili popędzam atmegę kwarcem 11 MHz, jak wygrzebię jakiś szybszy to zmienię i sprawdzę jeszcze raz . Powiedz mi jeszcze tylko jak mam rozumieć &quot;stwierdzenie w dłuższym okresie czasu&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 6 sie 2012, o 08:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-06T00:01:01+01:00</updated>
<published>2012-08-06T00:01:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11897#p11897</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11897#p11897"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11897#p11897"><![CDATA[
Tyle, że nawet przy podłączeniu generatora wzorcowego z oscyloskopu - 1kHz 0.5V (przez wzmacniacz operacyjny naturalnie) problem zliczania występuje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 6 sie 2012, o 00:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-05T23:36:29+01:00</updated>
<published>2012-08-05T23:36:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11895#p11895</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11895#p11895"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11895#p11895"><![CDATA[
Z tym draganiem to chodzi o to że; pomiedzy odczytem stanu jedengo pinu a drugiego mija pewien czas i mimo wciśniętego przycisku może zmienić się stan jednego z pinów. Ja bym to sprawdził za pomocą dwóch zwieranych przewodów, bo tam raczej nie występują drgania styków<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 7 minutach ]</span></strong><br /><br />Co do tego czy mam rację z negacją bitową możesz zrobić prosty eksperyment wartość zamiast wrzucać do funkcji wyrzuć na wyświetlacz i wszystko będzie jasne. np tak lcd_int(PINA) oraz lcd_int(~PINA) znając stan portów będziesz wiedział co uzyskałeś.<br />Ja dzisiaj raczej nie ma takiej możliwości, ale jutro nawet tak dla siebie to sprawdzę<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 13 minutach ]</span></strong><br /><br />I całkiem rozsądna jest podpowieź kol Krauser żeby zrobić programowy PWM. Timer i tak masz już odpalony to czemu nie podłączyć tych pinów od przerwania do jakiegość pinu i nie zmieniać jego stanu poprzez timer.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 5 sie 2012, o 23:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-05T23:30:28+01:00</updated>
<published>2012-08-05T23:30:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11894#p11894</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11894#p11894"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11894#p11894"><![CDATA[
Wracając jednak do meritum... ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 5 sie 2012, o 23:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-05T20:05:21+01:00</updated>
<published>2012-08-05T20:05:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11868#p11868</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11868#p11868"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11868#p11868"><![CDATA[
No właśnie - odczyt jest w tym samym momencie. Jak mam zwarte piny wejściowe to cały czas powinien wykonywać się ten sam &quot;case&quot;, ale jednak coś się krzaczy.<br />Maksymalna częstotliwość przychodzących impulsów to 5kHz, ale zwykle jest to nawet 100x mniej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 5 sie 2012, o 20:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-08-05T19:38:54+01:00</updated>
<published>2012-08-05T19:38:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11866#p11866</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11866#p11866"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11866#p11866"><![CDATA[
To pewnie działanie sił nieczystych  <img src="https://forum.atnel.pl/images/smilies/icon_twisted.gif" alt=":twisted:" title="Szalony" /> = stanów nieustalonych. Bo w końcu odczyt wszystkich linii występuje w tym samym momencie.<br />Duża prędkość taktowania nie jest tutaj bez winy.<br />Jaka ma być częstotliwość impulsów, które chcesz zliczać? Może dobrym testem byłoby wygenerowanie tej częstotliwości na wolnym kanale PWM i podanie na wejścia przez pewien czas.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 5 sie 2012, o 19:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-05T18:30:59+01:00</updated>
<published>2012-08-05T18:30:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11859#p11859</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11859#p11859"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11859#p11859"><![CDATA[
No to ja nie mardzo mam pomysł .... co jest nie tak....<br /><br />Jedynie ja osobiście bym jeszcze zrezygnował z odczytu stanu portów w funkcji na rzecz przerwania.<br />np: if (!(PINA&amp;(1&lt;&lt;0))) PULSE.A++;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 5 sie 2012, o 18:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-05T17:59:23+01:00</updated>
<published>2012-08-05T17:59:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11854#p11854</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11854#p11854"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11854#p11854"><![CDATA[
OK. To zmieniłem. Nie miało wpływu na błędy zliczania, które nadal występują.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 5 sie 2012, o 17:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-05T17:55:34+01:00</updated>
<published>2012-08-05T17:55:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11853#p11853</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11853#p11853"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11853#p11853"><![CDATA[
A jeżeli użyjesz tyldy w ten sposób jak napisałem to powinieneś wykorzystać maskowanie jeszcze raz w samej funkcji żeby ukryć wyższe bity.<br /><br />Na przykłąd wartość portu przed negacją będzie np:<br /><br />00001001<br />teraz negacja<br />11110110<br />i taka wartość jest przekazywana, żeby teraz była dobra dla ciebie powinieneś jeszcze raz ją zamaskować czyli:<br />11110110&amp;b00001111 i dopiero teraz będziesz miał prawidłową wartość dla instrukcji switch czyli:<br />00000110<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 5 sie 2012, o 17:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-05T17:56:39+01:00</updated>
<published>2012-08-05T17:50:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11852#p11852</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11852#p11852"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11852#p11852"><![CDATA[
Uh... a myślałem, że to neguje wartość.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 5 sie 2012, o 17:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-05T17:39:30+01:00</updated>
<published>2012-08-05T17:39:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11851#p11851</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11851#p11851"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11851#p11851"><![CDATA[
A raczej duża.<br />ponieważ nie negujesz całego wyrażenia, a tylko sam port i zamiast czytać rejestr 0x19 (PINA) dzięki tyldzie czytasz i maskujesz rejestr 0xE6 ( nawet nie wiem co to jest), innaczej by było gdyby tylda była przed nawiasem czyli ~(PINA&amp;0b00001111)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 5 sie 2012, o 17:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-05T17:33:00+01:00</updated>
<published>2012-08-05T17:33:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11849#p11849</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11849#p11849"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11849#p11849"><![CDATA[
Domyślnie na pinach jest stan wysoki więc (PINA &amp; 0b00001111) daje gdy nic się nie dzieje wynik 0b1111 = 15 natomiast (~PINA &amp; 0b00001111) da 0b0000 = 0. Różnica niewielka, moim zdaniem bez wpływu na działanie całości.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 5 sie 2012, o 17:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-08-05T17:09:46+01:00</updated>
<published>2012-08-05T17:09:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11848#p11848</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11848#p11848"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11848#p11848"><![CDATA[
A tak mi przyszło do głowy .......... <br />Co do wentylatorów bardzo podobną technikę stosuję się przy kilku wentylatorach komputerowych jeżeli się chce odczytywać ich prędkości obrotowe.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 16 minutach ]</span></strong><br /><br />A czasem funkcja obsługa pulsów nie powinna być wywołana zamiast tak obsluga_pulsow((~PINA &amp; 0b00001111)); np tak obsluga_pulsow((PINA &amp; 0b00001111));<br /><br />Nie bardzo wiem jak to powinno wyglądać w tym przypadku ...... ale jakoś wzrokowo nie bardzo mi to pasuje<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 18 minutach ]</span></strong><br /><br />A nawet na pewno ..... przecież chcesz odczytać wartość na PINA więc używasz maskowania żeby uzuskać wartości, więc na pewno ta tylda nie jest potzreba<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 5 sie 2012, o 17:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-08-05T16:56:56+01:00</updated>
<published>2012-08-05T16:56:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11845#p11845</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11845#p11845"/>
<title type="html"><![CDATA[Re: Programowy counter... marne działanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1376&amp;p=11845#p11845"><![CDATA[
Na 4 piny procesora fizycznie i jednocześnie wchodzą te same sygnały, więc co tu mają drgania styków? I nie - to nie będzie do wentylatorów akurat...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 5 sie 2012, o 16:56</p><hr />
]]></content>
</entry>
</feed>