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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-03-25T23:46:37+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=6423&amp;mode</id>
<entry>
<author><name><![CDATA[Kuźnia]]></name></author>
<updated>2014-03-25T23:46:37+01:00</updated>
<published>2014-03-25T23:46:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75803#p75803</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75803#p75803"/>
<title type="html"><![CDATA[Re: ADC przełączanie microswitchem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75803#p75803"><![CDATA[
w liniach kodu 13 i 25  zmień jeszcze operatory bitowe &amp; (jedno and) na logiczne &amp;&amp; (dwa and'y). Oczywiście obowiązkowo konfiguracja pinów tak jak napisał tobie jacekk232 musi być, a  tą pierwszą zakomentuj albo wytnij(ale nie nożykiem jak przy maskowaniu bitów <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=2537">Kuźnia</a> — 25 mar 2014, o 23:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marej]]></name></author>
<updated>2014-03-21T17:56:36+01:00</updated>
<published>2014-03-21T17:56:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75159#p75159</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75159#p75159"/>
<title type="html"><![CDATA[Re: ADC przełączanie microswitchem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75159#p75159"><![CDATA[
Próbowałem tak, ale wtedy przestaje działać w ogóle<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3583">marej</a> — 21 mar 2014, o 17:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-03-21T15:29:47+01:00</updated>
<published>2014-03-21T15:29:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75135#p75135</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75135#p75135"/>
<title type="html"><![CDATA[Re: ADC przełączanie microswitchem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75135#p75135"><![CDATA[
Skoro do PB0 i PB1 masz podłączone przyciski to dlaczego ustawiasz te piny jako wyjścia?<br />Jeśli masz podłączone przyciski do GND to konfiguracja tych pinów powinna być taka<br />[syntax=c]DDRB &amp;=~( (1&lt;&lt;PB0) | (1&lt;&lt;PB1) );            //PB0 i PB1 jako wejścia<br />PORTB |= (1&lt;&lt;PB0) | (1&lt;&lt;PB1);                //podciągnięcie do Vcc[/syntax]<br />Pierwszej linii nie trzeba pisać bo po resecie procesora wszystkie piny są ustawione jako wejścia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 21 mar 2014, o 15:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marej]]></name></author>
<updated>2014-03-21T07:41:14+01:00</updated>
<published>2014-03-21T07:41:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75100#p75100</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75100#p75100"/>
<title type="html"><![CDATA[Re: ADC przełączanie microswitchem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75100#p75100"><![CDATA[
Pogrzebałem trochę w internecie i książkach, tak jak mówisz ryba84 po prostu nie będę zbierał danych i wysyłał 0 w przypadku gdy adc jest &quot;wyłączony&quot;. W pomiarKanal1 i pomiarKanal2 przechowuję wartość sczytaną z przetwornika ADC. PINB0 i PINB1 to piny do których podłączone są przyciski. Dla PINB0 działa elegancko, ale dla PINB1 po naciśnięciu przycisku zmienia się stan i dalej nie mogę ponownie zmienić. Skoro już założyłem temat, to czy byłby ktoś na tyle uprzejmy i powiedział mi co robię źle?<br /><br />[syntax=c]{<br />    uint8_t pomiar = 0;<br />    uint8_t pomiar1 = 0;<br />    DDRB |= (1&lt;&lt;PINB0);<br />    PORTB ^= (1&lt;&lt;PINB0);<br />    DDRB |= (1&lt;&lt;PINB1);<br />    PORTB ^= (1&lt;&lt;PINB1);<br /><br />    while (1) {<br />        if (bit_is_clear(PINB, 0) &amp;&amp; (!Pressed)) {<br />            Pressed = 1;<br />            tablicaWyslanaPC&#91;4&#93; = pomiarKanal1;<br />        } else if (bit_is_set(PINB, 0) &amp; Pressed) {<br />            Pressed++;<br />            Pressed %= 4;<br />        } else if (bit_is_clear(PINB, 0) &amp;&amp; (Pressed == 2)) {<br /><br />            Pressed++;<br />            tablica&#91;4&#93; = 0;<br />        }<br /><br />        if (bit_is_clear(PINB, 1) &amp;&amp; (!Pressed1)) {<br />            Pressed1 = 1;<br />            tablicaWyslanaPC&#91;5&#93; = pomiarKanal2;<br />        } else if (bit_is_set(PINB, 1) &amp; Pressed1) {<br />            Pressed1++;<br />            Pressed1 %= 4;<br />        } else if (bit_is_clear(PINB, 1) &amp;&amp; (Pressed1 == 2)) {<br /><br />            Pressed1++;<br />            tablica&#91;5&#93; = 0;<br />        }<br />    }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3583">marej</a> — 21 mar 2014, o 07:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ryba84]]></name></author>
<updated>2014-03-21T05:49:28+01:00</updated>
<published>2014-03-21T05:49:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75095#p75095</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75095#p75095"/>
<title type="html"><![CDATA[Re: ADC przełączanie microswitchem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75095#p75095"><![CDATA[
W AVR z reguły masz jeden przetwornik ADC i w jednym czasie możesz uzyskać pomiar tylko z jednego pinu. Aby uzyskać pomiar z kilku różnych pinów odczytujesz je po kolei (np. w przerwaniu). Jeśli chodzi o zmianę stanu na porcie nic Ci to nie da, ew. wprowadzisz zakłócenia do pomiarów. Nie napisałeś co to za procek. Jeśli chcesz wyłączać/włączać pomiar na danym pinie to musisz ustawiać w programie jakąś flagę tak by program wiedział, że ma pominąć dany pin przy zbieraniu danych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3170">ryba84</a> — 21 mar 2014, o 05:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marej]]></name></author>
<updated>2014-03-20T13:58:06+01:00</updated>
<published>2014-03-20T13:58:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75053#p75053</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75053#p75053"/>
<title type="html"><![CDATA[Re: ADC przełączanie microswitchem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75053#p75053"><![CDATA[
Zmiana stanów na pinach ADC - chodziło mi o PORTA ^= (1&lt;&lt;PINA) - każdorazowe wciśnięcie przycisku będzie zmieniać stan<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3583">marej</a> — 20 mar 2014, o 13:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-03-20T10:37:47+01:00</updated>
<published>2014-03-20T10:37:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75022#p75022</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75022#p75022"/>
<title type="html"><![CDATA[Re: ADC przełączanie microswitchem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75022#p75022"><![CDATA[
A mógłbyś to dokładniej opisać i podać jakiś przykładowy schemat jak chciał byś to podłączyć. <br />Bo jakoś nie mogę rozumieć o co chodzi z tą zmianą stanów na pinach ADC.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 20 mar 2014, o 10:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marej]]></name></author>
<updated>2014-03-20T01:35:47+01:00</updated>
<published>2014-03-20T01:35:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75009#p75009</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75009#p75009"/>
<title type="html"><![CDATA[ADC przełączanie microswitchem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6423&amp;p=75009#p75009"><![CDATA[
Hej. Robię pomiar przetwornikiem analogowo-cyfrowym na kilku kanałach, chciałbym dorzucić obsługę ADC poprzez przyciski typu microswitch. Jeden microswitch odpowiada jednemu kanałowi - wciśnięcie powoduje start, ponowne stop pomiaru itd. Chciałbym to jakoś sensownie oprogramować, na myśl przychodzi mi zmiana stanu logicznego na pinach ADC, jednakże przetwornik nadal będzie wtedy działać. Mieliście kiedys podobny problem i pomysł jak to zrealizować w bardziej elegancki sposób? <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=3583">marej</a> — 20 mar 2014, o 01:35</p><hr />
]]></content>
</entry>
</feed>