Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

AVR i wątki ?

rozrabiak
-
-
Posty: 18
Rejestracja: 14 gru 2004, o 12:04
Lokalizacja: Opole

AVR i wątki ?

Postautor: rozrabiak » 14 gru 2004, o 12:08

Witam.
Czy w AVR można uruchamiać wątki? Chodzi mi o coś takiego:

1. Uruchamiam PWM
2. Na pinie np: Pind.1 ma sie zmieniac stan co 250ms
3. Na pinie Pinb.2 stan ma się zmieniać co 1s.

Stosując polecenie waitms program będzie czekał w sumie 1250ms, a to odpada. Czy istnieje jakaś możliwość rozwiązania tego problemu? Dodam, że PWM ma zmieniać swoją wartośc też co jakiś czas.

Dziękuję za pomoc.

[ Dodano: 14-12-2004, 11:26 ]
Dodam, że chodzi o AT90S2313, zapomniało mi się :)

Awatar użytkownika
ucy74
-
-
Posty: 100
Rejestracja: 6 sie 2003, o 21:04

Postautor: ucy74 » 14 gru 2004, o 15:39

Ja bym zliczal przerwania od timera. Zależnie od kwarcu i prescalera, wyjdzie Ci w końcu czas którego szukasz. nie jest to zegar atomowy :-)

sablik
-
-
Posty: 101
Rejestracja: 7 lip 2004, o 06:18
Lokalizacja: Czaniec
Kontaktowanie:

Postautor: sablik » 15 gru 2004, o 15:05

Niestety na AVR w bascomie nie ma czegoś takiego jak wątki jest tylko kombinatoryka z timerem.
Odpalasz timer z czasem co 1 ms lub prościej co 250 ms.
Wkładasz licznik (inkrementujesz jakąś zmienną). Jeśli jest wieloktrotność odpowiednia dla 250 to zmieniasz stan PWM na pierwszym pinie, jeśli jest wielokrotność = 1 s to zmieniasz na drugim pinie . Przerwanie timerat dla prostszego przykładu co 250 ms

Kod: Zaznacz cały

Licz_czas: pwm1a=Rnd(255) incr t if t >4 then t =1 pwm1b=Rnd(255) end if return
Dla bardzie skomplikowanych zadań zapraszam na stronę Marka program "Pseudo multitasking" ale również w sieci widziałem programy z kolejkami i priorytetami.

Arrek
-
-
Posty: 117
Rejestracja: 18 wrz 2003, o 20:41
Lokalizacja: wawa

Postautor: Arrek » 16 gru 2004, o 11:52

Zobacz np. topic RTOS AVR na tym forum. Ciekawa sprawa.

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 100 gości