<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">dobry vecer <br>
    </div>
    <div class="moz-cite-prefix">tyto zapisy moc nepouzivam .takze mozna
      budu kecat ,ale vychazi mi to nejak divne proto pisu "asi":</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
      void pwmInit(uint8_t chan, char port, uint8_t pin, uint16_t per,
      uint16_t val)   parametry funkce<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">jak dopadne volani jednotlivych funkci<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">  pwmInit(PWM0_chan, 'B', 0,
      CPU_freq/PWM_freq, pwm0);   //chan = 3<br>
       GPIOB->MODER |= 2<<(1<<pin);    > 
      2<<(1<<0)  = 4   asi by melo byt  2            port.1
      je asi nastaven do vystupu misto port.0 do altern.<br>
       case 3:<br>
       GPIOB->AFR[0] |= 1<<(pin<<2); // AF1   > 
      1<<(0<<2) = 1 to je asi spravne<br>
       break;<br>
      <br>
      <br>
        pwmInit(PWM1_chan, 'B', 1, CPU_freq/PWM_freq, pwm1);   //chan =
      4      toto volani asi by melo fungovat pro nastaveni portu<br>
       GPIOB->MODER |= 2<<(1<<pin);    > 
      2<<(1<<1)    = 8  to je asi dobre            nastavi
      port.1 do altern.<br>
       case 4:<br>
       GPIOB->AFR[0] |= 1<<(pin<<2); // AF1   > 
      1<<(1<<2) = 0x10 to je asi spravne<br>
       break;<br>
      <br>
      <br>
        pwmInit(PWM2_chan, 'A', 7, CPU_freq/PWM_freq, pwm2);   //chan =
      2<br>
       GPIOA->MODER |= 2<<(1<<pin);    > 
      2<<(1<<7)    = 2 << 0x80  to je asi na druhe
      strane vesmiru<br>
      case 2:<br>
       GPIOA->AFR[0] |= 1<<(pin<<2); // AF1    
      1<<(7<<2) = 0x10000000 to je asi spravne<br>
      break;<br>
    </div>
    <div class="moz-cite-prefix">taky nevim jestli GPIOA->AFR[0] je
      totez co GPIOA_AFRL </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Dne 29. 11. 2020 v 21:42 Pavel Hudecek
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:Cq.E0a%7D1.2p%7BrLOQFckD.1Vn0V0@seznam.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}</style>
      <div class="WordSection1">
        <p class="MsoNormal">Ale teď mi to taky nechodí, tak už nevim…</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">#define
            CPU_freq 48000000       // 48 MHz<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">#define
            PWM_freq 240000         // 240 kHz<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">//
            moje PWM                    TIM3 chan<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">#define
            PWM0_chan     3 // az po propojeni<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">#define
            PWM1_chan     4<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">#define
            PWM2_chan     2<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">void
            pwmSet(char chan, uint16_t val) { // hodnota PWM
            -------------------------------------------------<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">               
            switch(chan) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            //case 0: TIM3->CCR0 = val; break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            case 1: TIM3->CCR1 = val; break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            case 2: TIM3->CCR2 = val; break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            case 3: TIM3->CCR3 = val; break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            case 4: TIM3->CCR4 = val; break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">               
            }<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">}<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">void
            pwmInit(uint8_t chan, char port, uint8_t pin, uint16_t per,
            uint16_t val) { // -------------------<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">               
            RCC->AHBENR |= (1<<17) +
            (1<<18);                                      //
            IOPAEN IOPBEN<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">               
            RCC->APB1ENR |= 2;                                   //
            APB peripheral clock enable TIM3<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            switch (port) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            case 'A':<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                              
            GPIOA->MODER |=
            2<<(1<<pin);                             // port
            alt fn<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                              
            switch(chan) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 0:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 1:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                                              
            GPIOA->AFR[0] |= 1<<(pin<<2); // AF1<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 2:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                                              
            GPIOA->AFR[0] |= 1<<(pin<<2); // AF1<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 3:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 4:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                              
            }<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            case 'B':<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                              
            GPIOB->MODER |=
            2<<(1<<pin);                             //port
            alt fn<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                              
            switch(chan) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 0:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 1:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                                              
            GPIOB->AFR[0] |= 1<<(pin<<2); // AF1<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 2:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                                              
            GPIOB->AFR[0] |= 1<<(pin<<2); // AF1<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 3:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                                              
            GPIOB->AFR[0] |= 1<<(pin<<2); // AF1<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            case 4:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                                              
            GPIOB->AFR[0] |= 1<<(pin<<2); // AF1<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                                              
            }<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">                              
            break;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            }<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            TIM3->CR1 = 1;    
                                                                  // Bit
            1 UDIS: Update disable<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            TIM3->CCMR2 = 0b110<<12;                  // OC4M
            out 111 PWM mode 2, 110 PWM mode 1<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            TIM3->CCER = 0x3000;             // CC4P 1: OC1 active
            low / CC4E 1: On - OC1 signal is output<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            TIM3->CNT =
            0;                                                          
            // counter<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            TIM3->PSC = 0;                                          
            // nedelit - 48 MHz<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            TIM3->ARR = per;                                       //
            perioda<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            TIM3->CR1 = 0x1;                                       //
            CEN 1: Counter enabled<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">   
            pwmSet(chan,
            val);                                                   //
            hodnota PWM<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">}<o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">A v mainu je:</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"> 
            pwm0=10; pwm1=30; pwm2=180;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"> 
            pwmInit(PWM0_chan, 'B', 0, CPU_freq/PWM_freq, pwm0);<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"> 
            pwmInit(PWM1_chan, 'B', 1, CPU_freq/PWM_freq, pwm1);<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"> 
            pwmInit(PWM2_chan, 'A', 7, CPU_freq/PWM_freq, pwm2);<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"> 
            while (1) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">               
              HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 1);<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">               
              for (n=0; n<1000000; n++);<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">               
              HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 0);<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%">               
              for (n=0; n<1000000; n++);<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="color:#843C0C;mso-style-textfill-fill-color:#843C0C;mso-style-textfill-fill-alpha:100.0%"> 
            }<o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">LEDka bliká, ale PWMky nePWMkujou.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">PH</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div
          style="mso-element:para-border-div;border:none;border-top:solid
          #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
          <p class="MsoNormal" style="border:none;padding:0cm"><b>Od: </b><a
              href="mailto:edizon@seznam.cz" moz-do-not-send="true">Pavel
              Hudecek</a><o:p></o:p></p>
        </div>
        <p class="MsoNormal">No to jsem udělal, ale ono to právě pak
          stejně nechodilo.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div style="border:none;border-top:solid #E1E1E1
          1.0pt;padding:3.0pt 0cm 0cm 0cm">
          <p class="MsoNormal"><b>Od: </b><a
              href="mailto:jaroslav.buchta@hascomp.cz"
              moz-do-not-send="true">Jaroslav Buchta</a><o:p></o:p></p>
        </div>
        <p>Tak ted se mi zda, ze prece jen aspon pro prvni pokusy je
          dobre pouzit konfigurator a HAL - naklika se to, spusti se
          timer a jede to... Postup spusteni je primo soucasti zdrojaku
          kdyz nekdo nechce hledat.</p>
        <p><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">Dne 29.11.2020 v 20:16 Fanda Kopriva
            napsal(a):<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <div>
            <p class="MsoNormal">posilam soukromne tak to snad dojde<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal">fanda<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">Dne 29. 11. 2020 v 19:43 Pavel Hudecek
              napsal(a):<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal">Mohl bych poprosit o zaslání .h ve
              kteém jsou ty registry STM32F030K6T6 zadefinovaný?<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Stáhnul jsem několik takových fajlů a
              nefunguje ani jedno ani druhý<o:p></o:p></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:Consolas;color:black">TIM3_CCR0
                = val;</span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:Consolas;color:black">TIM3</span><span
                style="color:black">-></span><span
                style="font-size:10.0pt;font-family:Consolas;color:black">CCR0
                = val;</span><o:p></o:p></p>
            <p class="MsoNormal"><span style="color:black">Zajímavý je,
                že je v nich nadefinovaných spousta věcí, jako TIM1_...,
                nebo TIM17_... takže třeba s TIM1 by mi to tak šlo, ale
                k TIM3 je tam jen BASE.</span><o:p></o:p></p>
            <p class="MsoNormal"><span style="color:black"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span style="color:black">Díky,</span><o:p></o:p></p>
            <p class="MsoNormal"><span style="color:black">PH</span><o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0cm 0cm 0cm">
              <p class="MsoNormal"><b>Od: </b><a
                  href="mailto:info@elektronikavyvoj.cz"
                  moz-do-not-send="true">Fanda Kopriva</a><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">s STM32F030K6T6 jsem delal pro
                kamarada nastavovani modelarskeho  serva opakovacka 20
                ms a pulz 1-2ms<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal" style="margin-bottom:12.0pt">void
                motor(char co)<br>
                {<br>
                unsigned int pwmx;<br>
                 switch (co) {<br>
                   case 'I':<br>
                            RCC_APB1ENR |=2;                   //servo
                inicializace<br>
                            GPIOB_MODER   |= 0x00000008;       //port
                pb1<br>
                            GPIOB_AFRL    |= 0x00000010;<br>
                          TIM3_CR1 = 0x1;     <br>
                          TIM3_CCMR2_Output = 0x7000;      <br>
                          TIM3_CCR4 = 0;      //togle<br>
                          TIM3_CCER = 0x3000;                 //11<br>
                          TIM3_CNT = 0;<br>
                          TIM3_PSC = 7;          //1us<br>
                          TIM3_ARR = 20000;      //20ms<br>
                          TIM3_CR1 = 0x1;     //43<br>
                          TIM3_CCR4 = 1000;      //1.5ms<br>
                           break;<br>
                   case 'P':<br>
                          pwmx = servo * 50 + 1000;     //servo
                nastaveni<br>
                          if (pwmx>2000) pwmx=2000; <br>
                          TIM3_CCR4 = pwmx;<br>
                           break;<br>
                   case 'S':TIM3_CCR4 = 1000;      //1.5ms    servo stop<br>
                            break;<br>
                               }<br>
                }<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <p class="MsoNormal">jeste priklad pro stm32f446 - <o:p></o:p></p>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">#define enc1 0     //pc7 T3ch2<br>
                #define enc2 0     //pc8 T3ch3<br>
                <br>
                void encod(unsigned char co){<br>
                   if (co=='I')
                {                                                        
                //inicializace<br>
                          GPIOC_MODER &=  0xfffc3fff;<br>
                          GPIOC_MODER |=  0x00028000;<br>
                          GPIOC_AFRH  |=  0x00000002;<br>
                          GPIOC_AFRL  |=  0x20000000;<br>
                          GPIOC_OSPEEDR |=0x00028000;<br>
                          RCC_APB1ENR  |= 0x2;         //tim3     
                168/4  42MHz<br>
                          TIM3_CR1 = 0x81;     <br>
                          TIM3_CCMR1_Output = 0x7000;  <br>
                          TIM3_CCMR2_Output = 0x0070;  <br>
                          TIM3_CCER = 0x0110;                 <br>
                          TIM3_CNT = 0;<br>
                          TIM3_PSC = 0;<br>
                          TIM3_ARR = 20000;<br>
                          TIM3_CCR2 = 10000;<br>
                          TIM3_CCR3 = 10000;<br>
                          TIM3_CR1 = 0x81;     //zisk ad603 pwm1 ch1<br>
                               }<br>
                <br>
                  if (co=='P')
                {                                                     
                //nastaveni<br>
                <br>
                          if (laserA>18000) pwmx=18000; else
                pwmx=18000 - laserA;<br>
                          TIM1_CCR2 = pwmx;<br>
                          if (laserB>18000) pwmx=18000; else
                pwmx=18000 - laserB;<br>
                          TIM1_CCR3 = pwmx;<br>
                               }<br>
                                              }<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">mam tady jeste priklad pro stm32f427
                - <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal" style="margin-bottom:12.0pt">//#define
                laspwm   0x200           //d14  T4ch3<br>
                //#define pwina         // d12  T4ch1   //zisk<br>
                //#define pwin          // d13  T4ch2<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">unsigned int laseron ;<br>
                void laser(unsigned char co)<br>
                {<br>
                signed int laspoz;<br>
                switch (co) {<br>
                    case 'I':<br>
                           GPIOD_MODER &=  0xc0FFFFFF;<br>
                           GPIOD_MODER |=  0x2a000000;<br>
                           GPIOD_AFRH  |=  0x02220000;<br>
                          RCC_APB1ENR  |= 0x4;<br>
                          TIM4_CR1 = 0x1;<br>
                          TIM4_CCMR2_Output = 0x70;<br>
                          TIM4_CCMR1_Output = 0x7070;<br>
                          TIM4_CCER = 0x0111;                 //11<br>
                          TIM4_CNT = 0;<br>
                          TIM4_PSC = 10;<br>
                          TIM4_ARR = 256;<br>
                          TIM4_CCR3 = 255;<br>
                          TIM4_CR1 = 0x1;     //zisk ad603 pwm1
                ch1        unsigned int lasset,lasproud,maxlaser;<br>
                             break;<br>
                    case 'P':<br>
                          TIM4_CCR3 = laserproud;<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">          TIM4_CCR2 = zisk;<br>
                          TIM4_CCR1 = ziska;<br>
                             break;<br>
                             }<br>
                }<br>
                <br>
                fanda<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">Dne 29. 11. 2020 v 11:15 Pavel
                Hudecek napsal(a):<o:p></o:p></p>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <p class="MsoNormal">Dobrý den všem,<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">Trápím se tady s STM32F030K6T6, k PC
                připojeno přes STM32F0308 discovery, Cube IDE.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">1. Jak udělat, aby program běžel i po
                disconnect?<o:p></o:p></p>
              <p class="MsoNormal">2. Nedaří se mi zprovoznit PWM. Byla
                by nějaká ukázka, nejlépe pro TIM3?<o:p></o:p></p>
              <p class="MsoNormal"
style="mso-margin-top-alt:0cm;margin-right:468.0pt;margin-bottom:0cm;margin-left:324.0pt;margin-bottom:.0001pt"> <o:p></o:p></p>
            </blockquote>
          </blockquote>
        </blockquote>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <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>
    <p><br>
    </p>
  </body>
</html>