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ę

Flagi przerwań w AVR i ich zerowani

Sławek5
-
-
Posty:485
Rejestracja:15 sie 2003, o 16:40
Lokalizacja:Szczecin
Kontaktowanie:
Flagi przerwań w AVR i ich zerowani

Postautor: Sławek5 » 21 sty 2006, o 15:00

Cześć.
Czytałem sobie ostatnio książkę "Mikrokontrolery dla początkujących" p. Góreckiego i natknąłem się na str.155 z takim akapitem "przestarzałe przerwania". Jest tam napisane że aby wyzerować ustawioną flagę przerwania T/C0 nalęzy zapisac:

Kod: Zaznacz cały

TIFR.1=0 'zerujemy flagę T/C0
Czy nie jest to błąd? Przecież ustawione flagi w mikroprocesorach AVR zerujemy poprzez wpisanie jedynki (1).

A tak przy okazji to jak to jest z tymi flagami, kiedy zeruje się ja poprzez 1. Z którymi tak można zrobić, i czy istnieją takie, które można zerować poprzez wpisanie 0.

Awatar użytkownika
małysz
-
-
Posty:330
Rejestracja:4 cze 2004, o 22:16
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: małysz » 21 sty 2006, o 15:54

Witam!
Cytat z książki "Mikrokontrolery AVR Atmega w praktyce" str. 45, znaczniki przerwań:
"....Konieczne jest wówczas każdorazowe, manualne zerowanie ustawionego znacznika poprzez ładowanie go (uwaga!) wysoką wartością logiczną."

W innych publikacjach są podobne informacje tak wieć: Flagi przerwań są zerowane poprzez wpisanie do nich "1"!!!

Sławek5
-
-
Posty:485
Rejestracja:15 sie 2003, o 16:40
Lokalizacja:Szczecin
Kontaktowanie:

Postautor: Sławek5 » 21 sty 2006, o 16:03

Dokładnie, też to czytałem.
Czyli cytowany mój fragment należy traktować jako błąd..

Ale w w tej książce, którą Ty cytujesz jest też napisane coś w tylu: "niektóre flagi są zerowane poprzez wpisanie do nich wartości 1". Chodzi mi o te niektóre, czy są jakieś które się zeruje poprzez wpisanie 0. Przeglądając Data Sheet dla kilku AVR nie spotkałem zapisu o takich które są zerowane przez 0.

Awatar użytkownika
małysz
-
-
Posty:330
Rejestracja:4 cze 2004, o 22:16
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: małysz » 21 sty 2006, o 16:57

Witam!

Nie sądze żeby taka sytuacja miała miejsce. Sprawa powinna być ujednolicona tak na zdrowy rozsądek. Nie znalazłem takich znaczników które były by zerowane wartością "0".

szymel
-
-
Posty:212
Rejestracja:16 sty 2005, o 16:42
Lokalizacja:Włocławek

Postautor: szymel » 23 sty 2006, o 20:26

Witam!

Nie sądze żeby taka sytuacja miała miejsce. Sprawa powinna być ujednolicona tak na zdrowy rozsądek. Nie znalazłem takich znaczników które były by zerowane wartością "0".
Jeśli chodzi o "normalne" flagi w "normalnych" rejestrach przerwań - OK . Ale siedzi sobie w AVR-ku taki jeden - rzadko używany - rejestr przerwań , w którym flagi kasujemy przez wpisanie "0" , a zowie się on MCUSR

Piotrek

Awatar użytkownika
małysz
-
-
Posty:330
Rejestracja:4 cze 2004, o 22:16
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: małysz » 23 sty 2006, o 20:44

Witam!
A rzeczywiście! To także są flagi. Tyle że dotyczą powodu zerowania. Ale w końcu to flagi.

Przy okazji chciałbym wręczyć koledze Piotrkowi złoty medal za pomoc i dzielenie się swoją wiedzą. :564:

Tak trzymaj :580:
Załączniki
medal.jpg
medal.jpg (3.13KiB)Przejrzano 2321 razy

Wróć do „Elektronika - tematy dowolne”

Kto jest online

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