Arduino Polska Forum

Pełna wersja: ATTINY24, a PWM z wyjściem przeciwsobnym
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3
W zasadzie nie wiem co wcześniej robiłem nie tak, że tamten kod nie chciał działać, ale skoro działa to niech tak zostanie ;D

W każdym razie, dziękuję raz jeszcze za zaangażowanie.
Na koniec miałbym jedno pytanie odnośnie mojego kodu;

TCCR1A = 0b10110000 | (TCCR1A & 0b00001111);

Nie bardzo rozumiem ten zapis. Z tego co widzę, są tu dwie 8-bitowe maski nakładane na rejestr TCCR1A. Jak to właściwie działa?
Zobacz do rejestru TCCR1A to zrozumiesz...
Tzn, wiem za co ten rejestr odpowiada, bardziej chodziło mi o samą tą linijkę kodu. Że raz ustawia maskę na pierwszym, trzecim i czwartym bicie, a później na czterech ostatnich czy jak?
Operatory bitowe ustawiające rejestr, poczytaj o koniunkcja bitowa i alternatywa bitowa..
Operacje logiczne również rozumiem, natomiast tutaj zastanawia mnie co po takiej operacji zostanie wpisane do rejestru? I dlaczego maski bitowe są dwie skoro rejestr jest 8-bitowy? Nie można użyć jednej?
Skoro wiesz co to operatory bitowe to nie rozumiem czego tu nie rozumiesz... Czym byś zastąpił operator AND, OR ??

aj123
natomiast tutaj zastanawia mnie co po takiej operacji zostanie wpisane do rejestru? ?

Zależy co było w rejestrze przed...
(16-08-2020, 16:09)Jarewa0606 napisał(a): [ -> ]Zależy co było w rejestrze przed...

A tego to nie wiem, chyba nic. Tzn, nic do tego rejestru wcześniej nie wpisywałem, chyba, że Arduino domyślnie coś tam ustawia.
Dalej jestem przekonany, że tam w linku jest rozwiązanie Twojego problemu. Masz tam odwrócenie faz + przesunięcie, wystarczy nie robić przesunięcia.
Narysuj na kartce wykres dla 0, 25,50,75,100% jak mają wyglądać te przebiegi.
Stron: 1 2 3