<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Zdravím,</p>
    <p>není to kus kodu pro vaši situaci, ale spíše jen příklad.</p>
    <p>tímto nastavím timer0 do režimu fastPWM (pozor na kolizi s
      Arduino knihovnami), výstup bude na pinu PD6 (OC0A)<br>
    </p>
    <p>void pwm_setup (){<br>
        <br>
          // Set to 'Fast PWM' mode<br>
          TCCR0A |= (1 << WGM01) | (1 << WGM00); //nastavení
      fastPWM režimu<br>
          TCCR0A &=~(1<< COM0B0); <br>
          TCCR0A &=~(1<< COM0B1);  //OC0B je normální pin<br>
          TCCR0A |= (1 << COM0A1); //Clear OC0A on compare match,
      set OC0A at BOTTOM,(non-inverting mode).<br>
          TCCR0B |= (1 << CS00); //CLK no prescaler<br>
      }</p>
    <p>čítač tak běží od 0 do 0xFF a v okamžiku kdy jeho hodnota
      překročí hodnotu v OCR0A, tak pin OC0A přejde do jedničky,
      nulováním čítače dojde  i k nulování pinu OC0A.<br>
    </p>
    <p>nastavení činitele plnění provedete v OC0A:<br>
    </p>
    <p>void pwm_set(uint8_t pwm_val){<br>
        if (pwm_val < PWMMIN){ pwm_val=PWMMIN;}<br>
        if (pwm_val > PWMMAX){ pwm_val=PWMMAX;}<br>
        OCR0A=pwm_val;<br>
      }</p>
    <p>TAkže pokud máte Atmegu328 taktovanou na 16MHz, a ve fuse máte
      vypnutý předdělič 8, tak teoreticky jste schopen mít na výstupu
      cca 62kHz. Pokud potřebujete frekvenci jen hrubě, tak můžete volit
      vhodný předdělič.</p>
    <p>Pokud ji potřebujete přesně, tak je cesta přes režim, kdy se
      nepočítá až do 0xFF, ale do předdefinované hodnoty. Tenhle příklad
      ale po ruce nemám.</p>
    <p>Stačí takto?</p>
    <p><br>
    </p>
    <p>Petr<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Dne 31. 07. 23 v 14:14 Martin Záruba
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:fcf26f71-ec77-e394-6dc5-0c480122e594@volny.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p><font face="Arial">No fajn, holt už jsem starý a blbý. Můžete
          napsat konkrétní příklad jak to udělat? Co a kam zadat aby na
          nějakém pinu to generovalo PWM s (alespoň přibližně)
          požadovanou frekvencí a střídou?</font><br>
      </p>
      <pre class="moz-signature" cols="72">Martin Záruba</pre>
      <div class="moz-cite-prefix">Dne 30.7.2023 v 22:31 Petr Labaj
        napsal(a):<br>
      </div>
      <blockquote type="cite"
        cite="mid:489fda51-e5f1-c639-9fd9-689b4e1c09de@volny.cz">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        Co furt máte s nějakým nastavováním bitu?<br>
        Přece čítač tohle umí sám. Od toho je čítačem, je to jeho práce
        a poslání.<br>
        Třeba tady obrázek úplně základního nastavení čítače AVR.<br>
        Jeden registr udává základní opakovací frekvenci, druhý registr
        říká, jak dlouhý bude pulz.<br>
        Funguje to samo, pokud nepotřebuju délku pulzu měnit.<br>
        <br>
        PL<br>
        <br>
        *********************<br>
        <br>
        <br>
        <div class="moz-cite-prefix">Dne 30.7.2023 v 22:15 Martin Záruba
          napsal(a):<br>
        </div>
        <blockquote type="cite"
          cite="mid:e1b90fc6-cdee-c6e9-8a7c-01febc914465@volny.cz">
          <meta http-equiv="Content-Type" content="text/html;
            charset=UTF-8">
          <p><font face="Arial">No a jak jinak nastavit příslušný bit?</font></p>
        </blockquote>
        <br>
        <fieldset class="moz-mime-attachment-header"></fieldset>
        <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz" moz-do-not-send="true">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz" moz-do-not-send="true">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list" moz-do-not-send="true">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
      </blockquote>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
  </body>
</html>