<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><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;}
/* 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;}
pre
        {mso-style-priority:99;
        mso-style-link:"Form\00E1tovan\00FD v HTML Char";
        margin:0cm;
        font-size:10.0pt;
        font-family:"Courier New";}
span.FormtovanvHTMLChar
        {mso-style-name:"Form\00E1tovan\00FD v HTML Char";
        mso-style-priority:99;
        mso-style-link:"Form\00E1tovan\00FD v HTML";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=CS link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Bingo!</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%'>                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 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->CCMR1 |= 0b111<<4;// OCxM 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 &= ~(0b1111UL);<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 |=  0b0011;               // CCxP 1: OCx active low / CCxE 1: On - OCx 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%'>                               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%'>                                               TIM3->CCMR1 |= 0b111<<12;<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 &= ~(0b1111UL<<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%'>                                               TIM3->CCER |=  0b0011<<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%'>                               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%'>                                               TIM3->CCMR2 |= 0b111<<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%'>                                               TIM3->CCER &= ~(0b1111UL<<8);<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 |=  0b0011<<8;<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%'>                                               TIM3->CCMR2 |= 0b111<<12;<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 &= ~(0b1111UL<<12);<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 |=  0b0011<<12;<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>A taky jsem zohlednil námitky ohledně 0xffffffff-… normálně to používám u 8b, 255-…, ale tady to není úplně jisté.</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:info@elektronikavyvoj.cz">Fanda Kopriva</a><o:p></o:p></p></div><div><p class=MsoNormal>pro pwm mate spusteny pouze kanal 4<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>pro kanaly 2 a 3 by tam melo byt <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>    TIM3->CCMR2 = (0b111<<12) | (0b111<<4);                  // OC4M out 111 PWM mode 2, 110 PWM mode 1<br>    TIM3->CCMR1 =  0b111<<12;                                           <br>    TIM3->CCER = 0x3330;<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 30. 11. 2020 v 3:36 Pavel Hudecek napsal(a):<o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal>Je to tak. Dokonce to původně bylo správně, ale pak jsem to v rámci nějakého zmatkování „opravil“. Ale nepomohlo. Ale při zkoumání registrů v DS jsem provedl ještě další úpravy:<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>// moje PWM       TIM3 chan</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>#define PWM0_chan     3 // az po propojeni</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>#define PWM1_chan     4</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>#define PWM2_chan     2</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'> </span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>void pwmSet(char chan, uint16_t val) { // hodnota PWM -------------------------------------------------</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                switch(chan) {</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               //case 0: TIM3->CCR0 = val; break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               case 1: TIM3->CCR1 = val; break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               case 2: TIM3->CCR2 = val; break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               case 3: TIM3->CCR3 = val; break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               case 4: TIM3->CCR4 = val; break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                }</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>}</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'> </span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>void pwmInit(uint8_t chan, char port, uint8_t pin, uint16_t per, uint16_t val) { // -------------------</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                RCC->AHBENR |= (1<<17) + (1<<18);                                      // IOPAEN IOPBEN</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                RCC->APB1ENR |= 2;                                   // APB peripheral clock enable TIM3</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    switch (port) {</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               case 'A':</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               GPIOA->MODER &= 0xffffffff-(3<<(pin<<1)); // port fn clear</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               GPIOA->MODER |= 2<<(pin<<1);                             // port alt fn</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               GPIOA->OTYPER &= 0xffffffff-(1<<pin); // push-pull</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               GPIOA->OSPEEDR |= 3<<(pin<<1);                          // port high speed</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               switch(chan) {</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 0:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 1:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                                               GPIOA->AFR[0] |= 1<<(pin<<2); // AF1</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 2:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                                               GPIOA->AFR[0] |= 1<<(pin<<2); // AF1</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 3:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 4:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               }</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               case 'B':</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               GPIOB->MODER &= 0xffffffff-(3<<(pin<<1)); // port fn clear</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               GPIOB->MODER |= 2<<(pin<<1);                             // port alt fn</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               GPIOB->OTYPER &= 0xffffffff-(1<<pin); // push-pull</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               GPIOB->OSPEEDR |= 3<<(pin<<1);                          // port high speed</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               switch(chan) {</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 0:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 1:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                                               GPIOB->AFR[0] |= 1<<(pin<<2); // AF1</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 2:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                                               GPIOB->AFR[0] |= 1<<(pin<<2); // AF1</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 3:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                                               GPIOB->AFR[0] |= 1<<(pin<<2); // AF1</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               case 4:</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                                               GPIOB->AFR[0] |= 1<<(pin<<2); // AF1</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                                               }</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                               break;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    }</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    TIM3->CR1 = 1;                                                           // Bit 1 UDIS: Update disable</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    TIM3->CCMR2 = 0b111<<12;                  // OC4M out 111 PWM mode 2, 110 PWM mode 1</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    TIM3->CCER = 0x3000;            // CC4P 1: OC1 active low / CC4E 1: On - OC1 signal is output</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    TIM3->CNT = 0;                                                                           // counter</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    TIM3->PSC = 0;                           // nedelit - 48 MHz</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    TIM3->ARR = per;                                       // perioda</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    TIM3->CR1 = 1;                                                           // CEN 1: Counter enabled</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>    pwmSet(chan, val);                                                   // hodnota PWM</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>}</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'> </span><o:p></o:p></p><p class=MsoNormal>A v mainu:<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>  pwm0=10; pwm1=30; pwm2=180;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>  pwmInit(PWM0_chan, 'B', 0, CPU_freq/PWM_freq, pwm0);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>  pwmInit(PWM1_chan, 'B', 1, CPU_freq/PWM_freq, pwm1);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>  pwmInit(PWM2_chan, 'A', 7, CPU_freq/PWM_freq, pwm2);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>  while (1) {</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                  HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 1);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                  HAL_GPIO_WritePin(LEDpwm0_GPIO_Port, LEDpwm0_Pin, 1);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                  for (n=0; n<1000000; n++);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                  HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 0);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                  HAL_GPIO_WritePin(LEDpwm0_GPIO_Port, LEDpwm0_Pin, 0);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>                  for (n=0; n<1000000; n++);</span><o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>  }</span><o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>Stav byl takový, že ty výstupy se chovaly jako vstupy. Na jednom, který končí testpinem (to je ta poznámka u definů „az po propojeni“) osciloskop ukazoval 0, na zbylých 2 byly skoro 4 V (připojeno na vstupy NCP81071A s pullupama, s napájením asi 7,5 V) a na PWM0, které vede na A9/TIM1.2 (nekonfigurován), bylo skoro 7.<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>Závěr ze čtení registrů: Je v nich všechno správně.<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>Po úpravě kódu ten nepoužitej už nemá 7, ale funguje jako výstup. Navíc na PWM1 (=B1/TIM3.4) je PWM 240 kHz. Zbylé 2 zůstaly stejné (0 a skoro 4), tedy asi stále vstupy.<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>Po kontrole výšeuvedeného textu jsem pojal podezření a před řádky s nastavením alternativní funkce jsem přidal:<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><span style='color:#843C0C'>GPIOB->AFR[0] &= 0xffffffff - (3<<(pin<<2)); // nulovat AF</span><o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>Ale už se tím nic nezměnilo.<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>PH<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><b>Od: </b><a href="mailto:konfera@efton.sk">Jan Waclawek</a><br>Dobry postreh!<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>> GPIOA->MODER |= 2<<(1<<pin);   <o:p></o:p></p><p class=MsoNormal>ma byt <o:p></o:p></p><p class=MsoNormal>GPIOA->MODER |= 2<<(pin<<1);   <o:p></o:p></p><p class=MsoNormal>alebo mozno lepsie<o:p></o:p></p><p class=MsoNormal>GPIOA->MODER |= 0b10 << (2 * pin);   <o:p></o:p></p><p class=MsoNormal>z coho je jasne vidiet, ze v MODER su 2 bity na pin.<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>wek<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>----- Original Message ---------------<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>Subject: Re: Zase STM32<o:p></o:p></p><p class=MsoNormal>   From: Fanda Kopriva <a href="mailto:info@elektronikavyvoj.cz"><info@elektronikavyvoj.cz></a><o:p></o:p></p><p class=MsoNormal>   Date: Sun, 29 Nov 2020 22:39:56 +0100<o:p></o:p></p><p class=MsoNormal>     To: <a href="mailto:hw-list@list.hw.cz">hw-list@list.hw.cz</a><o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>dobry vecer<o:p></o:p></p><p class=MsoNormal>tyto zapisy moc nepouzivam .takze mozna budu kecat ,ale vychazi mi to <o:p></o:p></p><p class=MsoNormal>nejak divne proto pisu "asi":<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>void pwmInit(uint8_t chan, char port, uint8_t pin, uint16_t per, <o:p></o:p></p><p class=MsoNormal>uint16_t val)   parametry funkce<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>jak dopadne volani jednotlivych funkci<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>  pwmInit(PWM0_chan, 'B', 0, CPU_freq/PWM_freq, pwm0);   //chan = 3<o:p></o:p></p><p class=MsoNormal> GPIOB->MODER |= 2<<(1<<pin);    > 2<<(1<<0)  = 4   asi by melo byt  <o:p></o:p></p><p class=MsoNormal>2            port.1 je asi nastaven do vystupu misto port.0 do altern.<o:p></o:p></p><p class=MsoNormal> case 3:<o:p></o:p></p><p class=MsoNormal> GPIOB->AFR[0] |= 1<<(pin<<2); // AF1   > 1<<(0<<2) = 1 to je asi spravne<o:p></o:p></p><p class=MsoNormal> break;<o:p></o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal> <o:p></o:p></p></div><p class=MsoNormal><br><br><o:p></o:p></p><pre>_______________________________________________</pre><pre>HW-list mailing list  -  sponsored by <a href="http://www.HW.cz">www.HW.cz</a></pre><pre><a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a></pre><pre><a href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a></pre></blockquote><p><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>