Witam
Oczywiście zaczynam dopiero zabawę z tym na poważnie, czyli C i uC.
Przechodząc do sedna. Potrzebuję wygenerować 3 sygnały taktujące.
Jeden z sygnałów generuje w ten sposób:
Wydaje mi się, że powyższy kod powinien dać na wyjściu PB1 sygnał prostokątny o wypełnieniu 50% i częstotliwości 500KHz?
Potrzebuję zatem drugi sygnał, który ma mieć takie same parametry jak powyżej, ale musi być w przeciwfazie do tego pierwszego. Co gorsza nie mogą występować żadne opóźnienia, dlatego wykorzystanie inwertera odpada. Da się wykorzystać timer 0 do tego, tylko zrobić, żeby sygnały te były w przeciwfazie?
Mógłbym w pętli sprawdzać flagę compare output i w razie jej ustawienia generować sygnał na dowolnym pinie, ale muszę oprócz tych sygnałów dorobić jeszcze trochę innych rzeczy, więc wprowadzałoby to kolejne opóźnienia.
Trzeci sygnał taktujący to także prostokąt około 500KHz, ale wypełnienie 25%, ale czytam właśnie o trybie PWM w AVR-ach i myślę że z tym nie będzie problemu.
Istotne jest również to, że używam zewnętrznego kwarcu 10MHz. Niestety nie mam dostępu do oscyloskopu żeby testować wiele rozwiązań, a nie chcę brnąć w jakieś rozwiązanie, które nic nie da.
Do oscyloskopu będę miał dostęp w poniedziałek lub wtorek i do tego czasu chciałbym mieć teoretycznie działający program, a w przyszłym tygodniu sprawdzę w praktyce.
Nie oczekuję rozwiązania na tacy, tylko wskazówki.
Oczywiście zaczynam dopiero zabawę z tym na poważnie, czyli C i uC.
Przechodząc do sedna. Potrzebuję wygenerować 3 sygnały taktujące.
Jeden z sygnałów generuje w ten sposób:
Kod: C / C++
Wydaje mi się, że powyższy kod powinien dać na wyjściu PB1 sygnał prostokątny o wypełnieniu 50% i częstotliwości 500KHz?
Potrzebuję zatem drugi sygnał, który ma mieć takie same parametry jak powyżej, ale musi być w przeciwfazie do tego pierwszego. Co gorsza nie mogą występować żadne opóźnienia, dlatego wykorzystanie inwertera odpada. Da się wykorzystać timer 0 do tego, tylko zrobić, żeby sygnały te były w przeciwfazie?
Mógłbym w pętli sprawdzać flagę compare output i w razie jej ustawienia generować sygnał na dowolnym pinie, ale muszę oprócz tych sygnałów dorobić jeszcze trochę innych rzeczy, więc wprowadzałoby to kolejne opóźnienia.
Trzeci sygnał taktujący to także prostokąt około 500KHz, ale wypełnienie 25%, ale czytam właśnie o trybie PWM w AVR-ach i myślę że z tym nie będzie problemu.
Istotne jest również to, że używam zewnętrznego kwarcu 10MHz. Niestety nie mam dostępu do oscyloskopu żeby testować wiele rozwiązań, a nie chcę brnąć w jakieś rozwiązanie, które nic nie da.
Do oscyloskopu będę miał dostęp w poniedziałek lub wtorek i do tego czasu chciałbym mieć teoretycznie działający program, a w przyszłym tygodniu sprawdzę w praktyce.
Nie oczekuję rozwiązania na tacy, tylko wskazówki.