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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-09-28T20:34:31+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=19284&amp;mode</id>
<entry>
<author><name><![CDATA[radek3035]]></name></author>
<updated>2017-09-28T20:34:31+01:00</updated>
<published>2017-09-28T20:34:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195978#p195978</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195978#p195978"/>
<title type="html"><![CDATA[Re: Timer1 w trybie FAST PWM i pin ICP1 problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195978#p195978"><![CDATA[
Właśnie rozwiązałem problem... Na pinie PB0 miałem wyłączenie PWM, a na pinie PD7 włączenie. Przez pomyłkę zamiast zablokować 3 dolne bity w digital input DIDR0 wpisałem te bity <br />do DIDR1 i zablokowałem digital input na komparatorach. Czyli na PD7.  W związku z tym PD7 był zawsze czytany jako LOW (przycisk wciśnięty) I to powodowało wariacje PWM.<br />Człowiek uczy się na błędach, tyle że najlepiej na czyichś <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Dopiero się uczę programowania aczkolwiek dobrze mi idzie(i tej wersji się będę trzymał <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> hi hi)<br />Dzięki za pomoc i pozdrawiam..<br />Ps Uczcie się na moich błędach <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=14189">radek3035</a> — 28 wrz 2017, o 20:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-09-28T17:53:29+01:00</updated>
<published>2017-09-28T17:53:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195968#p195968</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195968#p195968"/>
<title type="html"><![CDATA[Re: Timer1 w trybie FAST PWM i pin ICP1 problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195968#p195968"><![CDATA[
Coś masz namieszane (w połączeniach bądź w programie). W trybie fast PWM, pin ICP nie wpływa na działanie kanałów PWM generowanych przez licznik.<br />Licznik zlicza od zera do 0x03FF, stan licznika jest stale porównywany z rejestrami OCR1A i OCR1B  i w zależności od wyniku porównania wyjścia OC1A i OC1B są odpowiednio ustawiane. Pin ICP może jedynie spowodować przechwycenie aktualnej wartości licznika do rejestru ICR1.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 32 minutach ]</span></strong><br /><br />Przed chwilą zrobiłem test i jest tak jak pisałem - stan pinu PB0 nie wpływa na stan pinu OC1A oraz OC1B podczas generowania PWM-u na tych pinach, a konfigurację timera1 wkleiłem twoją.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 28 wrz 2017, o 17:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radek3035]]></name></author>
<updated>2017-09-28T14:33:06+01:00</updated>
<published>2017-09-28T14:33:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195936#p195936</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195936#p195936"/>
<title type="html"><![CDATA[Timer1 w trybie FAST PWM i pin ICP1 problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19284&amp;p=195936#p195936"><![CDATA[
Witam.<br />Procek atmega 328p, 16mHz.<br />Uruchamiam timer1 z takimi ustawieniami:<br />[syntax=c]TCCR1A = _BV(COM1A1) | _BV(COM1B1) | _BV(WGM11) | _BV(WGM10);// Fast PWM 10 bit<br />TCCR1B = _BV(CS10) | _BV(WGM12);//Preskaler na 1, PWM 15.625 kHz<br />TIMSK1 |= _BV(TOIE1); // odblokowanie przerwania timer overflow[/syntax]<br />Problem polega na tym że na wyjściu OC1A działa prawidłowo tylko wtedy gdy pin PB0(ICP1) jest w stanie wysokim. Nie ma znaczenia czy jest wejściem czy wyjściem.<br />Przy stanie niskim na PB0 wyjście OC1A generuje tylko szpilki od kilkudziesięciu mikrosekund do kilkudziesięciu nanosekund.<br />Natomiast wyjście OC1B działa prawidłowo.<br />Próbowałem wszelkich ustawień timera i przekopałem datasheet. Niestety nie dałem rady rozwiązać problemu.<br />Czy da się jakoś wyłączyć to ICP? Czy to ja znowu robię jakiś błąd?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14189">radek3035</a> — 28 wrz 2017, o 14:33</p><hr />
]]></content>
</entry>
</feed>