Re: Arduino generování pulzů

Martin Záruba swz na volny.cz
Neděle Červenec 30 22:15:19 CEST 2023


No a jak jinak nastavit příslušný bit?

A jak nastavit u PWM jinou frekvenci, než těch 400 Hz? A jak jej 
ovládat? Můžete poslat kousek kódu?

Martin Záruba

Dne 30.7.2023 v 21:15 Petr Zapadlo napsal(a):
> Ještě upozorním na to, že digitalWrite na  atmega není moc efektivní - 
> kdysi jsem to  měřil a je asi tak 3x pomalejší než klasický přístup 
> přes registry.
>
> smyčka digitalWrite (pin, 0); digitalWrite(pin,1); nedal ani těch 
> 20kHz (jestli si správně pamatuju)
>
> Jinak na PWM těch 20kHz je úplně v poho - ale nesmí se k tomu použít 
> analogWrite - to nastaví PWM do nějakého základního stavu s frekvencí 
> někde kolem 400Hz.  prostě musíte načíst a ručně ponastavovat registry 
> nějakého časovače-
>
> Petr
>
>
> Dne 30. 07. 23 v 19:51 Jaroslav Buchta napsal(a):
>> Cekat v preruseni to se opravdu nedela. Neslo by to delat jako se 
>> hejbe krokovyma motorama?
>> V preruseni nastavit novou hodnotu pro casovac odpovidajici 
>> pozadovane delce 0/1 a hejbnout GPIO. Klika je, ze u AVR ma preruseni 
>> dost malou rezii, treba u ARMu to takhle moc delat nejde.
>>
>> Dne 30.07.2023 v 19:45 Petr Simek napsal(a):
>>> On Sun, 30 Jul 2023, Martin Záruba wrote:
>>>
>>>> // Obsluha přerušení od časovače Timer/Counter1
>>>> ISR(TIMER1_OVF_vect) {
>>>>   // Generování pulzu 1 na pinu 9 (při logické 1)
>>>>   digitalWrite(9, HIGH);
>>>>
>>>>   // Počkejte na dobu odpovídající šířce pulzu 1
>>>>   delayMicroseconds(pulseWidth1);
>>>
>>> Kdyz v preruseni vyvolate cekaci smycku, tak se to v tom preruseni
>>> zablokuje ne ? Pak zalezi na prioritach - bud to jine preruseni
>>> neprerusi, takze druhy puls bude zmrseny-zpozdeny, nebo prerusi
>>> a protoze v nem to taky uvizne v cekaci smycce tak to zmrsi-prodlouzi
>>> prvni puls.
>>>
>>>
>>>
>>>> Martin Záruba
>>>
>>> *------------------------------------------------------------------------* 
>>>
>>> |                          Petr Simek   APS 
>>> JU                           |
>>> | psimek na jcu.cz                              |
>>> *------------------------------------------------------------------------* 
>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20230730/bd2e9071/attachment.htm>


Další informace o konferenci Hw-list