Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 15 sty 2025, o 23:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 1 maja 2013, o 20:16 
Offline
Nowy

Dołączył(a): 01 maja 2013
Posty: 2
Pomógł: 0

Witam wszystkich mam pytanie: chciałbym w pętli while aktualizować zmienna:temp jak to uczynić ,działa to teraz w ten sposób ,że aktualizacja następuje dopiero po wykonaniu pętli podaje poniżej kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 maja 2013, o 21:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2012
Posty: 97
Lokalizacja: Tarnów
Pomógł: 2

Hmm a co powoduje zmianę wartości tej zmiennej o nazwie "temp" ?
Bo program cały czas będzie chodził w tym while'u, sprawdza warunek, wykonuje co jest w pętli, sprawdza warunek ...itd więc ja tu widzę tylko możliwość "wyskoczenia" na chwilę do obsługi przerwania. Np. możesz sobie ustawić żeby ci generowało przerwanie co określony czas i w obsłudze przerwania sprawdzać czy wystąpiło zdarzenia które modyfikuje tą zmienną i jeśli tak to odpowiednio ją zmieniać. A jeśli nie chciałbyś żeby ci się to przerwanie generowało cały czas to po wyjściu z tej pętli zawsze możesz je zablokować, a odblokowywać tylko przy wejściu do pętli.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2013, o 08:34 
Offline
Nowy

Dołączył(a): 01 maja 2013
Posty: 2
Pomógł: 0

Właśnie próbuje to zrobić na przerwaniach ale mi to nie wychodzi ,jeżeli mógłbyś pokazać jak to powinno wyglądać to był bym ci bardzo wdzięczny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2013, o 21:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2012
Posty: 97
Lokalizacja: Tarnów
Pomógł: 2

Nie bardzo wiem co ten program ma robić (poza oczywistym wyświetlaniem temperatury), skąd tą temperaturę bierze i dlaczego akurat zastosowałeś tą pętle. A jeśli chodzi o przerwania to..

To by miało wyglądać tak że ustawiasz sobie któryś z Timerów w tryb Normal albo Comapre Match, odpowiednio ustawiasz preskaler dla takiego przerwania, który dzieli ci częstotliwość z jaką taktujesz kontroler i ładujesz sobie jeszcze jakąś wartość do 8 lub 16 bitowego rejestru, w zależności od Timera, która to wartość dodatkowo ci dzieli tą częstotliwość "tyknięć" Timera. Odblokowywujesz globalne zezwolenia na przerwania i odblokowywujesz określone przerwanie w zależności jakiego timera i trybu użyłeś a w obsludze przerwania sobie inkrementujesz tą zmienną (lub dekrementujesz)

W pierwszej książce Mirka w rozdziale o multipleksowaniu masz dokładniej opisane jak ustawiać i używać przerwań, polecam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO