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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-05-04T20:17:31+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15301&amp;mode</id>
<entry>
<author><name><![CDATA[Rafal998]]></name></author>
<updated>2016-05-04T20:17:31+01:00</updated>
<published>2016-05-04T20:17:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=160012#p160012</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=160012#p160012"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=160012#p160012"><![CDATA[
Też przydatne <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Próbuję teraz zmodyfikować poprzedni program, korzystając z programu anshar, by dodać przycisk i wlaśnie kilka &quot;trybów pracy&quot;. Ale coś nie idzie. Trzeba wziąć książkę do ręki i poczytać co tam Mirek napisał <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=13847">Rafal998</a> — 4 maja 2016, o 20:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-05-04T18:40:13+01:00</updated>
<published>2016-05-04T18:40:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159989#p159989</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159989#p159989"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159989#p159989"><![CDATA[
<div class="quotetitle">Rafal998 napisał(a):</div><div class="quotecontent"><br />Zależy mi na takim efekcie.<br /></div><br /><br />Myślę, że efekt podobny.  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Założyłem sobie, że będzie na tych no, tfu, delayach. <br />Proszę:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#define LED_DDRDDRB<br />#define LED_PORTPORTB<br />#define LED1(1&lt;&lt;PB1)<br />#define LED2(1&lt;&lt;PB2)<br />#define LED_TOG1 LED_PORT ^= LED1<br />#define LED_TOG2 LED_PORT ^= LED2<br /><br />#define PORT_KEY1 PORTB<br />#define PIN_KEY1 PINB<br />#define KEY1 (1&lt;&lt;PB0)<br /><br />volatile uint8_t *prt = &amp;LED_PORT;<br /><br />uint8_t go;<br />uint16_t key_lock1;<br /><br />void led_togle_counter( uint8_t *port, uint8_t led, uint8_t counter, uint16_t del);<br />void delay(uint16_t cnt);<br />uint8_t press(void);<br />void efekt_0(void);<br />void efekt_1(void);<br />void efekt_2(void);<br />void efekt_3(void);<br />void efekt_4(void);<br />void efekt_5(void);<br />void efekt_6(void);<br /><br />int main ( void )<br />{<br />LED_DDR |= LED1 | LED2;<br />//LED_PORT |= LED1 | LED2;<br />PORT_KEY1 |= KEY1;<br /><br />while (1)<br />{<br />uint8_t efekt = press();<br />if( 0 == efekt ) efekt_0();<br />if( 1 == efekt ) efekt_1();<br />if( 2 == efekt ) efekt_2();<br />if( 3 == efekt ) efekt_3();<br />if( 4 == efekt ) efekt_4();<br />if( 5 == efekt ) efekt_5();<br />if( 6 == efekt ) efekt_6();<br />}<br />}<br /><br />void led_togle_counter( uint8_t *port, uint8_t led, uint8_t counter, uint16_t del)<br />{<br />uint8_t tmp;<br />for(tmp = (counter*2); tmp ; tmp--)<br />{<br />*port ^= led;<br />delay(del);<br />}<br />}<br /><br />void delay(uint16_t cnt)<br />{<br />press();<br />while(cnt &amp;&amp; go)<br />{<br />_delay_us(10);<br />cnt--;<br />press();<br /><br />if(!go)break;<br />}<br />}<br /><br />uint8_t press(void){<br /><br />static uint8_t wynik;<br />uint8_t stan = PIN_KEY1;<br /><br />go = 1;<br /><br />if( !key_lock1 &amp;&amp; !(stan &amp; KEY1 ) ) {<br />key_lock1 = 50000;<br />go = 0;<br />wynik++;<br />if(7 == wynik) wynik = 0;<br />}<br />else if( key_lock1 &amp;&amp; (stan &amp; KEY1) ) key_lock1++;<br /><br />return wynik;<br />}<br /><br />void efekt_0(void)<br />{<br />led_togle_counter( (uint8_t *)prt, LED1, 1, 65000 );<br />delay(50000);<br />led_togle_counter( (uint8_t *)prt, LED2, 1, 65000 );<br />delay(50000);<br />}<br /><br />void efekt_1(void)<br />{<br />led_togle_counter( (uint8_t *)prt, LED1, 3, 5000 );<br />delay(50000);<br />led_togle_counter( (uint8_t *)prt, LED2, 3, 5000 );<br />delay(50000);<br />}<br /><br />void efekt_2(void)<br />{<br />led_togle_counter( (uint8_t *)prt, LED1, 3, 5000 );<br />delay(1000);<br />led_togle_counter( (uint8_t *)prt, LED2, 3, 5000 );<br />delay(1000);<br />}<br /><br />void efekt_3(void)<br />{<br />led_togle_counter( (uint8_t *)prt, LED1, 1, 3000 );<br />delay(800);<br />led_togle_counter( (uint8_t *)prt, LED2, 1, 3000 );<br />delay(800);<br />}<br /><br />void efekt_4(void)<br />{<br />led_togle_counter( (uint8_t *)prt, LED1|LED2, 4, 3000 );<br />delay(50000);<br />}<br /><br />void efekt_5(void)<br />{<br />LED_PORT &amp;= ~(LED1 | LED2);<br />}<br /><br />void efekt_6(void)<br />{<br />LED_PORT |= LED1 | LED2;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 4 maja 2016, o 18:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-05-04T12:32:48+01:00</updated>
<published>2016-05-04T12:32:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159950#p159950</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159950#p159950"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159950#p159950"><![CDATA[
Kod powinien być umieszczony tak:<br />[syntax=c]#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;util/delay.h&gt;//dołączenie pliku nagłówkowego niezbędnego do działania delay<br /><br />#define LED_DDRDDRB<br />#define LED_PORTPORTB<br />#define LED1(1&lt;&lt;PB1)// definicja pinu do którego podłączona jest dioda LED1<br />#define LED2(1&lt;&lt;PB2)// definicja pinu do którego podłączona jest dioda LED2<br />#define LED_TOG1 LED_PORT ^= LED1// makrodefinicja – zmiana stanu diody LED1<br />#define LED_TOG2 LED_PORT ^= LED2// makrodefinicja – zmiana stanu diody LED2<br /><br />void led1_togle(void);<br />void led2_togle(void);<br /><br />int main ( void ) {<br />LED_DDR |= LED1 | LED2;// kierunek pinów – wyjściowy<br />//LED_PORT |= LED1 | LED2;//zgaszenie diod<br /><br />while (1){<br />led2_togle();<br />led2_togle();<br />_delay_ms(200);<br />led1_togle();<br />led1_togle();<br />_delay_ms(200);<br />}<br />}<br /><br />void led2_togle(void) {<br />LED_TOG2;//zmiana stanu diody LED2 na przeciwny (zapalenie diody LED2)<br />_delay_ms (50);<br />LED_TOG2;//zmiana stanu diody LED2 na przeciwny (zgaszenie diody LED2)<br />_delay_ms (50);<br />}<br /><br />void led1_togle(void) {<br />LED_TOG1;//zmiana stanu diody LED1 na przeciwny (zapalenie diody LED1)<br />_delay_ms (50);<br />LED_TOG1;//zmiana stanu diody LED1 na przeciwny (zgaszenie diody LED1)<br />_delay_ms (50);<br />}[/syntax]<br />Jak widzisz nic nie obcina, a dużo łatwiej się czyta.  <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=7157">anshar</a> — 4 maja 2016, o 12:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-04T12:22:33+01:00</updated>
<published>2016-05-04T12:22:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159948#p159948</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159948#p159948"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159948#p159948"><![CDATA[
<span style="color: #FF0000">[ listingi na forum wstawiamy zgodnie z instrukcją: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --> - obejrzyj proszę KONIECZNIE i popraw - mirekk36 ]</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 maja 2016, o 12:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafal998]]></name></author>
<updated>2016-05-04T12:18:33+01:00</updated>
<published>2016-05-04T12:18:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159947#p159947</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159947#p159947"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159947#p159947"><![CDATA[
Dziękuję serdecznie za pomoc! Teraz widzę błąd który popełniłem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13847">Rafal998</a> — 4 maja 2016, o 12:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2016-05-04T12:35:21+01:00</updated>
<published>2016-05-04T12:10:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159946#p159946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159946#p159946"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159946#p159946"><![CDATA[
w pętli while napisz tak <br /><br />[syntax=c]PORTB |= (1&lt;&lt;PB2);<br />_delay_ms (5);<br />PORTB &amp;= ~(1&lt;&lt;PB2);<br />_delay_ms (5);<br />PORTB |= (1&lt;&lt;PB2);<br />_delay_ms (5);<br />PORTB &amp;= ~(1&lt;&lt;PB2);<br />_delay_ms (5);[/syntax]<br /><br />i analogicznie to samo dla PB1 w dalszej części kodu w pętli while.<br /> delay(em ) ustawiasz czasy gaszenia i świecenia diody.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 4 maja 2016, o 12:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafal998]]></name></author>
<updated>2016-05-04T11:49:47+01:00</updated>
<published>2016-05-04T11:49:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159945#p159945</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159945#p159945"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159945#p159945"><![CDATA[
Dioda w stanie wysokim świeci. Podłączona jest anodą do atmegi. <br /><br />Najprościej będzie tak - <br /><br /><!-- m --><a class="postlink" href="https://www.youtube.com/watch?v=UyVU9cFtGNc" >https://www.youtube.com/watch?v=UyVU9cFtGNc</a><!-- m --><br /><br />Zależy mi na takim efekcie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13847">Rafal998</a> — 4 maja 2016, o 11:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2016-05-04T11:18:53+01:00</updated>
<published>2016-05-04T11:18:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159944#p159944</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159944#p159944"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159944#p159944"><![CDATA[
Ale co dokładnie chcesz uzyskać? Dwa impulsy o określonej długości? Może chcesz wystawić 1 na wyjściu i po 10ms znowu 1 bez ustawiania 0 wcześniej?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 4 maja 2016, o 11:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[danny]]></name></author>
<updated>2016-05-04T11:14:46+01:00</updated>
<published>2016-05-04T11:14:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159943#p159943</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159943#p159943"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159943#p159943"><![CDATA[
Tak jak Ci napisałem wyżej. Chcesz żeby 2 razy Ci się zapaliła, a tylko raz ustawiasz stan wysoki. Jeszcze kwestia jak masz tą diodę podłączoną.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1505">danny</a> — 4 maja 2016, o 11:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafal998]]></name></author>
<updated>2016-05-04T10:49:45+01:00</updated>
<published>2016-05-04T10:49:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159942#p159942</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159942#p159942"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159942#p159942"><![CDATA[
Podczas wrzucania w Syntax, ucinało część kodu. Oczywiście, że standardowy kod działa, dioda miga. Jednak chcialbym dojść do tego, co zrobić by szlo po mojej myśli<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13847">Rafal998</a> — 4 maja 2016, o 10:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2016-05-04T10:47:22+01:00</updated>
<published>2016-05-04T10:47:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159941#p159941</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159941#p159941"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159941#p159941"><![CDATA[
Witam<br />Po pierwsze programy wklejamy:<br />listing kodu: SYNTAX wybierz - C.<br />Co do Twojego kodu - ma działać, tylko dla testów wprowadź  _delay_ms(500) i obserwuj zachowanie LED'ów.<br />Inaczej niż zakładasz ale ma działać, a Ty obserwując zrobisz mały kroczek w programowaniu.<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 4 maja 2016, o 10:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafal998]]></name></author>
<updated>2016-05-04T12:43:37+01:00</updated>
<published>2016-05-04T10:15:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159939#p159939</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159939#p159939"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159939#p159939"><![CDATA[
[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />int main ( void ) {<br />DDRB |= ( (1&lt;&lt;PB2) | (1&lt;&lt;PB1) );<br /><br /><br /><br />while (1){<br />PORTB ^= (1&lt;&lt;PB2);<br />_delay_ms (5);<br />PORTB ^=(1&lt;&lt;PB2);<br />_delay_ms (8);<br /><br />PORTB ^= (1&lt;&lt;PB1);<br />_delay_ms (3);<br />PORTB ^= (1&lt;&lt;PB1);<br />_delay_ms (3);<br /><br /><br /><br />}<br /><br />}[/syntax]<br />Więc co zmienić, aby móc wysterować porty po mojej mysli? Nie rozumiem jeszcze tych pętli, przerwań - zaczynam. Jednak chcialbym teorie utrwalać praktyką - tak mi się latwiej uczy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13847">Rafal998</a> — 4 maja 2016, o 10:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[danny]]></name></author>
<updated>2016-05-04T10:09:37+01:00</updated>
<published>2016-05-04T10:09:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159938#p159938</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159938#p159938"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159938#p159938"><![CDATA[
Tak na szybko - nie widzę na końcu klamry } - ale może to kwetia nie wklejenia wszystkiego.<br /><br />Czy przed pętlą główną ustawiłeś piny PB1 i PB2 jako wyścia?<br /><br />DDRB |= (1&lt;&lt;PB1) | (1&lt;&lt;PB2);<br /><br /><br />Używasz operacji negacji na pinie więc w jednym obiegu pętli stan wysoki będziesz miał tylko jeden raz na kazdym pinie.<br /><br />Domyślnie masz po resecie atmegi zero. Pierwsze &quot;^=&quot; ustawi Ci tam jedynkę. Po 3 ms znowu negujesz - czyli ustawiasz zero.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1505">danny</a> — 4 maja 2016, o 10:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafal998]]></name></author>
<updated>2016-05-04T10:06:43+01:00</updated>
<published>2016-05-04T10:06:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159937#p159937</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159937#p159937"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159937#p159937"><![CDATA[
Teraz powinno być lepiej - Wrzuciłem kod w [syntax] i ucięło - czemu, nie wiem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13847">Rafal998</a> — 4 maja 2016, o 10:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[danny]]></name></author>
<updated>2016-05-04T10:02:57+01:00</updated>
<published>2016-05-04T10:02:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159936#p159936</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159936#p159936"/>
<title type="html"><![CDATA[Re: [C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159936#p159936"><![CDATA[
Witam<br /><br />A co to za konstrukcja: &quot;PORTB ^= (1&lt;&quot; ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1505">danny</a> — 4 maja 2016, o 10:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafal998]]></name></author>
<updated>2016-05-04T12:44:02+01:00</updated>
<published>2016-05-04T09:43:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159935#p159935</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159935#p159935"/>
<title type="html"><![CDATA[[C] Sterowanie portami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15301&amp;p=159935#p159935"><![CDATA[
Witajcie!<br /><br />//info do moderacji - jeśli jest jakiś odpowiedni temat, dział na takie pytania proszę o przeniesienie//<br /><br />Początki w programowaniu są trudne. To wie każdy. Szukam, szmeram analizuję i nie mogę dojść końca<br /><br />Potrzebuję wysterować dwa porty np. PB1, PB2 Atmegi328 tak aby PB1 właczył mi stan wysoki dwa razy z np. delay 10 ms po czym przeszedl  do PB2 i zrobil to samo.. Proste? Jednak za cholerę nie mam pomysłu jak to napisać.<br />Używanie pętli while chyba tutaj nie da rady. <br /><br />[syntax=c]while (1){<br />PORTB ^= (1&lt;&lt;PB2);<br />_delay_ms (3);<br />PORTB ^=(1&lt;&lt;PB2);<br />_delay_ms (3);<br /><br />PORTB ^= (1&lt;&lt;PB1);<br />_delay_ms (3);<br />PORTB ^= (1&lt;&lt;PB1);<br />_delay_ms (3);[/syntax]<br /><br />Takie coś też nie działa. Prosiłbym o wytłumaczenie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13847">Rafal998</a> — 4 maja 2016, o 09:43</p><hr />
]]></content>
</entry>
</feed>