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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-04-30T14:49:49+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1047&amp;mode</id>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-30T14:49:49+01:00</updated>
<published>2012-04-30T14:49:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6008#p6008</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6008#p6008"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6008#p6008"><![CDATA[
Dzięki<br />Przy da się <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=288">Janadamis</a> — 30 kwi 2012, o 14:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-30T13:11:55+01:00</updated>
<published>2012-04-30T13:11:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6004#p6004</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6004#p6004"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6004#p6004"><![CDATA[
W takim razie przypomnę ci jak zrobić własną funkcję do której możesz już spokojnie przekazywać opóźnienie w ms czy us<br /><br />[syntax=c]void Mydelay( uint16_t ms ) {<br />   while( ms-- ) _delay_ms(1);<br />}[/syntax]<br /><br />napisanie takiej funkcji jak widzisz jest proste jak drucik<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 kwi 2012, o 13:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-30T12:57:52+01:00</updated>
<published>2012-04-30T12:57:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6001#p6001</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6001#p6001"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6001#p6001"><![CDATA[
Ok<br />Faktycznie przypominam sobie kilka sposobów które były opisane w książce <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />a więc już wszystko wiem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 30 kwi 2012, o 12:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-30T12:15:58+01:00</updated>
<published>2012-04-30T12:15:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6000#p6000</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6000#p6000"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=6000#p6000"><![CDATA[
<div class="quotetitle">Janadamis napisał(a):</div><div class="quotecontent"><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent">2. NIGDY nie przekazuj zmiennej jako parametr dla funkcji typu _delay_xx() - NIGDY<br /></div><br />A to dlaczego?</div><br /><br />A to ciekawe? Piszesz tak jakbyś nie miał mojej książki pod ręką - w której nie dość że wyjaśniałem o co chodzi i powtarzać tutaj się nie będę bo musiałbym książkę przepisywać a szkoda czasu .... to tylko przypomnę, że jak nie doczytasz dlaczego - to sporo przykrych niespodzianek cię czeka - a później pojawisz się jak nie na tym to na innym forum i zadasz typowe pytania np:<br /><br />&quot;a dlaczego jak użyłem _dleay_ms() to nagle po kompilacji program w pamięci flash rozrósł się o 2-3kB ???&quot;<br /><br />albo jeszcze inne ..... no cóż - to jest temat strasznie często wałkowany i przeze mnie wyjaśniany już nawet nie tylko na elektrodzie ale i na tym forum wielokrotnie<br /><br />Tak samo i na tym forum i w książce masz przykłady jak obejść tą niedogodność - o ile można to nazwać niedogodnością - jeśli do pozbycia się jej wystarczy dosłownie jedna linijka - we własnej funkcji np:<br /><br />while( ms-- ) _delay_ms(1);<br /><br />jak tego użyć? tak jak mówiłem - masz o tym w książce nie tylko napisane i opisane ale także przykłady w kodach programów na DVD.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 kwi 2012, o 12:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-30T12:04:17+01:00</updated>
<published>2012-04-30T12:04:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5999#p5999</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5999#p5999"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5999#p5999"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />2. NIGDY nie przekazuj zmiennej jako parametr dla funkcji typu _delay_xx() - NIGDY<br /></div><br />A to dlaczego?<br />I jeżeli mam tego nie stosować to jak zmieniać opóźnienie za pomocą zmiennej?<br />Aktualnie to zmienna pobierana z adc jest wprowadzana do tej delayx i ładnie tak jak obrócę potencjometr to tak szybko silnik krokowy chodzi.<br />Jest jakaś inna funkcja opóźniająca gdzie można stosować za czas zmienną?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 30 kwi 2012, o 12:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-04-29T14:41:55+01:00</updated>
<published>2012-04-29T14:41:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5968#p5968</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5968#p5968"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5968#p5968"><![CDATA[
No ok ale niestety przedstawię KARDYNALNE błędy jakie popełniłeś żebyś wiedział o co chodzi i na przyszłość ich unikał jak OGNIA:<br /><br />1. NIGDY w przerwaniu nie stosuj poleceń _delay_xx() - NIGDY !<br /><br />2. NIGDY nie przekazuj zmiennej jako parametr dla funkcji typu _delay_xx() - NIGDY<br /><br />Nawet jeśli jakoś to poprawiłeś ale nadal stosujesz takie dziwne rzeczy to niestety - będziesz miał kłopoty <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 kwi 2012, o 14:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-29T12:29:11+01:00</updated>
<published>2012-04-29T12:29:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5967#p5967</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5967#p5967"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5967#p5967"><![CDATA[
Zmieniłem koncepcje i udało mi się zrobić <br />Temat do zamknięcia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 29 kwi 2012, o 12:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wrangler]]></name></author>
<updated>2012-04-29T10:55:18+01:00</updated>
<published>2012-04-29T10:55:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5965#p5965</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5965#p5965"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5965#p5965"><![CDATA[
Lepiej zarzuć tutaj cały kod. Bo wątpię, że ktokolwiek będzie w stanie coś z &quot;tego&quot; pomóc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=223">Wrangler</a> — 29 kwi 2012, o 10:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-04-29T10:18:50+01:00</updated>
<published>2012-04-29T10:18:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5964#p5964</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5964#p5964"/>
<title type="html"><![CDATA[Re: Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5964#p5964"><![CDATA[
ale że niby jak ??<br />bo nie rozumiem jak chcesz coś umieścić w timerze0 i Timerze1<br />przecież timerem generujesz sobie przerwanie, a nie w nim umieszczasz program....<br /><br />Chyba raczej chcesz to robić na przerwaniach , a nie w timerze   ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 29 kwi 2012, o 10:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Janadamis]]></name></author>
<updated>2012-04-29T09:12:41+01:00</updated>
<published>2012-04-29T09:12:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5963#p5963</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5963#p5963"/>
<title type="html"><![CDATA[Program w timerze...]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1047&amp;p=5963#p5963"><![CDATA[
Witam<br />W miarę już ogarnąłem timery. I teraz chcę zrobić taki projekt.<br />Polega on na tym że program do jego obsługi chcę umieścić w timerze 2 a nie w programie głównym<br />Ten program poniżej chcę umieścić w timerze 2. Timer będzie miał przerwanie co 1ms <br />[syntax=c]<br />PORTA = Krok_1;<br />_delay_ms(1);<br />PORTA &amp;= STOP;<br />_delay_ms(czas);<br />PORTA = Krok_2;<br />_delay_ms(1);<br />PORTA &amp;= STOP;<br />_delay_ms(czas);<br />PORTA = Krok_3;<br />_delay_ms(1);<br />PORTA &amp;= STOP;<br />_delay_ms(czas);<br />PORTA = Krok_4;<br />_delay_ms(1);<br />PORTA &amp;= STOP;<br />_delay_ms(czas);<br />[/syntax]<br />Zmienna czas jest sterowana z głównego programu <br />I właśnie próbuję ale nie mogę sobie poradzić włożyć tego programu do timera.<br />Chcę go mieć w timerze ponieważ w programie głównym będą inne funkcje które będą ciągle chodziły a ten program ma chodzić nie zależnie od programu <br />Tylko że w timerze nie może być opóźnienia delay i dlatego mam ten poważny kłopot bo jak widać w programie delay jest sporo <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />w zmiennej czas będzie liczba z zakresu 0-255<br />Czy da się takie coś zrobić? i jak?<br />Na marginesie powiem ze ten program obraza silnikiem krokowym. Bo ja chcę żeby 2 silniki chodziły nie zależnie dlatego bym program do sterowania 1 silnikiem umieścił w timerze0 a drugim w timerze2<br />Proszę o pomoc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=288">Janadamis</a> — 29 kwi 2012, o 09:12</p><hr />
]]></content>
</entry>
</feed>