Re: Arduino generování pulzů

Petr Zapadlo zapik na email.cz
Neděle Červenec 30 21:15:28 CEST 2023


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


Další informace o konferenci Hw-list