Arduino Timer 0 in snelle PWM-modus en micros ()

I have the same problem as described on this topic

Ik moest mijn presaleefactor voor Timer0 op 1 zetten, zodat ik een 62,5 Khz PWM uit pin 4 kan halen

Mijn probleem is dat nu de functie vertragingen() op mijn schetsen niet correct werkt. Zoals ook in het bovenstaande onderwerp is vermeld, heb ik de macro MICROSECONDS_PER_TIMER0_OVERFLOW in de bibliotheek wiring.c gewijzigd, maar dit lost de functie delay() niet op.

Ik begrijp dat ik ook de functie micros() moet repareren, maar ik weet niet hoe het probleem moet worden opgelost.

Is de Timer0 Interrupt 64 maal sneller dan nu? Dus het verdelen van de micros door 64 zou het probleem niet moeten oplossen

0
als de timer 64 keer sneller telt, moet je 64 keer langer wachten.
toegevoegd de auteur Mayavimmer, de bron
Deze vraag zou betere antwoorden krijgen als je vroeg op de Arduino SE. Vragen voor de Arduino op deze website zijn meer voor mensen die de hardware kant van de Arduino willen kennen. Ik ga gaan stemmen om deze vraag naar de Arduino SE te migreren.
toegevoegd de auteur Pesetas74, de bron
Het wijzigen van standaardbibliotheken is een slecht idee. De antwoorden in uw gelinkte vraag vertellen u alles wat u moet weten - "De beste oplossing is om millis() alleen te gebruiken voor uw kritieke timingfuncties." Als dat niet goed genoeg is, schrijf dan je eigen delay() en micros() equivalenten.
toegevoegd de auteur Vendy Sukhri, de bron

Geen antwoorden

0