Gast
#3982968
Gute Abend, ich möchte ein Software-UART auf einem Attiny programmieren. Der (einzige) Timer 0 läuft im 10 Bit Fast PWM Modus, Compare Match A erzeugt ein PWM Signal. Compare Match B soll einen Interrupt auslösen. In der ISR setze ich das Compare-Register auf einen neuen Wert um die Bitzeiten zu erzeugen.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Das funktioniert so nicht, der neue Wert in OCR0B wird erst nach dem nächsten Timer-Überlauf übernommen. Von diesem Puffer habe ich Datenblatt gelesen, hatte aber angenommen er ist nur für OCR0A aktiv (COM0A1 Bit gesetzt). Wie kann man diesen Puffer umgehen?