encoder

Jan Waclawek konfera na efton.sk
Úterý Květen 16 00:14:35 CEST 2017


>a je to stejné. 

Potom to, co vravi pan kolega Labaj, t.j. tie vstupy kmitaju rychlejsie ako
ich stihate citat.

Tradicne riesenie je pravidelne ho citat a odcitavat od predchadzajuceho
stavu modulo ARR (pricom ARR nie je prilis dovod mat mensi ako maximalny,
vzdy sa da potom robit modulo pocet krokov na otacku, ak je to potrebne).

Ale mozete skusit aj moznost "odchlpit" vstupy s pouzitim filtra
nastaveneho na primerane dlhu (pre rucne tocenie hoci aj najdlhsiu) dobu v
CCMRx.ICyF (a este natiahnut kolko sa len da pomocou CR1.CKD). Ak to
prerusenie potom urobite dostatocne kratke, tak ich budete stihat vsetky.


>Ještì mne zaráží to, že se nastavují pøíznaky CC4IF a 
>CC3IF
>i když nejsou povolené.

Neviem co myslite tym "povolene", ale bity v SR su pred ANDom s bitmi v
DIER a nastavia sa vzdy ked nastane s nimi suvisiaca udalost, bez ohladu
na to co je v DIER.

Ak ste nechali CCMR2 ako aj CCR3/CCR4 v defaulte, tak tie dva kanaly su
nastavene na compare a tie flagy sa nastavia vzdy ked je CNT=CCR3=CCR4=0.



wek


----- Original Message ---------------

Subject: Re[2]: encoder
   From: Fanda <hudaklan at volny.cz>
   Date: Mon, 15 May 2017 17:54:07 +0000
     To: HW-news <hw-list at list.hw.cz>

>Tak jsem to zkusil upravit na:
>
>void TIM1_BRK_UP_TRG_COM_IRQHandler(void)
>{
>  ITOC_TIM->SR = (uint16_t)~TIM_FLAG_Update;
>  pokus2 = ITOC_TIM->SR;
>    pokus1++;
>}
>
>a je to stejné. Ještì mne zaráží to, že se nastavují pøíznaky CC4IF a 
>CC3IF
>i když nejsou povolené. Pokus2 se po vymazani UIF vypisuje s hodnotou 
>0x0018.
>HUDA
>
>
>
>------ Pùvodní zpráva ------
>Od: "Jan Waclawek" <konfera at efton.sk>
>Komu: "HW-news" <hw-list at list.hw.cz>
>Odesláno: 15.5.2017 19:01:53
>Pøedmìt: Re: encoder
>
>>Aha, a este jedna vec, nepouzivajte RMW na nulovanie flagov v TIM_SR, 
>>ale
>>priamy zapis, t.j.
>>
>>ITOC_TIM->SR = (uint16_t)~(pokus2);
>>
>>
>>Pozrite do RM - tie bity su typu rc_w0 a to nie je nahoda. Kym 
>>pouzivate
>>len jeden flag, je to sumafuk; ale ked ich budete pouzivat viac, tak 
>>takto
>>si mozete nechtiac vynulovat taky, ktory hardware prave nastavil a
>>software ho este neprecital.
>>
>>wek
>>
>>
>>
>>----- Original Message ---------------
>>>>jen pøeru±ení probìhne vµdycky nìkolikrát
>>>
>>>   ITOC_TIM->SR &= (uint16_t)~(pokus2);
>>>
>>>dajte na zaciatok ISR.
>>>
>>>Dovodom je oneskorenie signalu z timera do NVIC.
>>>
>>>wek
>>
>>_______________________________________________
>>HW-list mailing list  -  sponsored by www.HW.cz
>>Hw-list at list.hw.cz
>>http://list.hw.cz/mailman/listinfo/hw-list
>
>_______________________________________________
>HW-list mailing list  -  sponsored by www.HW.cz
>Hw-list at list.hw.cz
>http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list