[#1] CIA, o co loto z tym tajmerem? :/
W nawiązaniu do poprzedniego tematu.

Dwa dni już się ścieram i zrobić nie potrafię.
Źródło, w cholerę kaszaniaste, bo próbowałem różnych magicznych zabiegów, fragmenty kradzione , nie wszystkie procedury były testowane, ale mi chodzi narazie o busywaitCIA(), jak to się uda, to resztę już zrobię:

http://shogoonn.w.interia.pl/cia.e

Program w skrócie wygląda tak:
szukam wolnego timera
wolny timer alokuję i podpinam pod niego przerwanie (AddICRVector()).
procedura do obsługi przerwania jest, ale jest nieużywana, bo wyłączam ją za pomocą AbleICR(), ale nawet, jeżeli przerwanie zostanie wywołane, to nic się nie stanie.
ustawiam tryb pracy timera (bit START wyzerowany, tryb one-shot, wejście zegarowe z linii 02, czyli niby wszystko(?) OK)
zapis do CIATxLO, potem do CIATxHI i powinien wystartować (piszą, że w trybie one-shot timer powinien ruszyć bez względu na wartość bitu START), ale tego nie robi, chyba, że ja o czymś nie wiem.

Drugi problem, to taki - jak CPU ma odczytać, czy timer zliczył do końca?
W autodoc'ach stoi, że w momencie zakończenia zliczania zerowany jest bit odpowiadający danemu timerowi w rejestrze ICR. Tylko, czy mam go ustawić ręcznie, czy bit jest ustawiany automatycznie?
W jednym źródle, konkretniej to t-loader (leży na aminecie) program czeka w pętli aż bit będzie miał wartość 1, nigdzie nie jest ustawiany "ręcznie", jak zrobiłem to samo u siebie, to czekał w nieskończoność :( .

Timery raczej mam sprawne (aczkolwiek układ CIA jest nieco nadpalony , ale to tylko port parallel), wszystko, co wykorzystuje timery działa. Program, z którego "ukradłem" trochę kodu też działa, ale on jest na przerwaniach, a mój problem polega na tym, że oczekiwanie na zakończenie pracy timera ma być wykonywane pomiędzy Disable() i Enable()

Po wywołaniu funkcji busywaitCIA() nie mam żadnego opóźnienia. :(
[#2] Re: CIA, o co loto z tym tajmerem? :/

@shg, post #1

Zrobione :D

Był jakiś problem z AbleICR() i SetICR(), ale teraz już wszystko śmiga jak powinno
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem