Cześć wam. Chciałbym poznać przyczynę problemu, który zaraz opiszę.
Mikrokontroler to ATtiny13. Problem jest taki, że przy poniższym kodzie otrzymuję na wyjściu OC0A, czyli PB0, impulsy o czasie trwania 104 ns. Odpowiada to taktowaniu procesora na wewnętrznym RC, czyli 9,6 MHz. Impulsy pojawiają się z częstotliwością ok 37 kHz, co odpowiada częstotliwości przepełniania licznika tego timera.
Nie ruszam tu wartości rejestru OCR0A. Nawet wstawienie na sztywno OCR0A = 0, w różnych miejscach kodu, nie pomaga.
W kodzie tym, poza PWM, używam również przerwania od przepełnienia dlatego jest tam TOIE0.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Co prawda znalazłem obejście problemu, ale nadal nie rozumiem czemu mam ten impuls przy powyższym kodzie.
Moje obejście to ustawienie kierunku wyjściowego dla pinu PB0 dopiero bezpośrednio przed sterowaniem tym pinem przez PWM. Następnie ustawiam kierunek jako wejściowy kiedy kończę sterowanie PWM i czekam na następne wyzwolenie.
Chciałem wstawić obrazy przebiegów z oscyloskopu. Ale chyba nie umiem używać opcji "dodaj obrazek"
![Pokazuje język :P](https://forum.atnel.pl/images/smilies/icon_razz.gif)