Ręce opadają.
A radź se sam.
Wróć do „Dokąd zmierza świat?”
A gdzie ja napisałem że masz zapalić LEDa?
Więc naprawdę zaczynam myśleć żeś tępy...
No tosz właśnie LEDem byś to sprawdził...
Ok, pomyliłem się.
Uparcie nie chcesz się tego dowiedzieć. Dałbyś w przerwaniu zapalanie LEDa, i już byś wiedział o wiele więcej.
Bo jesteś tępy.
No czyli nie wiesz. To nie konfiguruje przerwania, tylko włącza zezwolenie na obsługę (czyli właśnie ustawia bit DIER).
Znaczy jesteś tępy.tuxcnc pisze: ↑01 cze 2025, 23:32Napisałem kod, który obsługuje enkoder kwadraturowy. Liczy w przód i w tył, problem jest tylko taki, że licznik jest 16-bitowy, więc w większości zastosowań się przepełni, a nie powinien.
Dlatego jest potrzeba użyć przerwania z licznika, aby rozszerzyć wynik na co najmniej 32 bity, co zrobiłem w innych programach używających bibliotek, ale tutaj chcę bez bibliotek.
Tak więc w moim kodzie nie ma sensu szukać błędu, bo go tam nie ma.
Jeśli nie użyję NVIC_EnableIRQ(TIM1_UP_IRQn), to licznik liczy w kółko, a jak użyję NVIC_EnableIRQ(TIM1_UP_IRQn) to dolicza do 65535 i program się zawiesza.
Znaczy to dokładnie tyle, że NVIC_EnableIRQ(TIM1_UP_IRQn) nie działa tak, jak można oczekiwać.
Ma i to bardzo duży. Wyjaśniłem to chyba wystarczająco jasno więc nie ma sensu żebym się powtarzał.drzasiek90 pisze: ↑01 cze 2025, 19:59Ale jaki to ma związek?
Nie robią tego co kiedyś, bo technologia się zmieniła.
Jedno i drugie to prawda.drzasiek90 pisze: ↑01 cze 2025, 19:59To jest dowód na to, że dobrych programistów ciężko znaleźć, albo że jest ich mało, albo że dobrzy programiści zarabiają na tyle dobrze na etacie że nie szukają dodatkowej fuchy.