Hallo liebe Gemeinde. Ich bin im AVR Tutorial beim Kapitel Logik angelangt. Da in diesem Kapitel der Begriff Maske recht oft vor kommt, wollte ich fragen, was man unter dem Begriff Maske genau versteht?? Hier ein Auszug aus dem Kapitel: "Im Ergebnis tauchen an den Bitpositionen an denen in der Maske eine 1 war auf jeden Fall ebenfalls eine 1 auf. In den restlichen Bitpositionen hängt es vom ersten Argument ab, ob im Ergebnis eine 1 auftaucht oder nicht." Vielen Dank für die Antworten im Voraus. Gruß Max
Gast
#3582561
Die Maske ist ein Bitmuster, z.B. 8 Bit. Wenn an einer oder mehreren Stellen (Bitpositionen) eine "1" steht, wird der Wert beachtet, bei einer "0" nicht. Eine Maske sagt also immer aus, welche Bitpositionen z.B für einen Vergleich relevant sind (1) und welche egal sind (0).
Ah ok... Danke für Deine schnelle Antwort.
Nimm mal an, du möchtest Status des Pin0 am PortA auslesen. Der Pin kann 0 oder 1 sein. Auslesen kannst du aber nur den Status aller 8 Pins zusammen über das Register PINA. Wenn du also testest:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Oliver
Gast
#3582580
Hi >"Im Ergebnis tauchen an den Bitpositionen an denen in der Maske eine 1 >war auf jeden Fall ebenfalls eine 1 auf. In den restlichen Bitpositionen >hängt es vom ersten Argument ab, ob im Ergebnis eine 1 auftaucht oder >nicht." Nur mal so: Das ist eine ODER-Verknüpfung und kein UND. Argument Maske Ergebnis 0 0 0 0 1 1 1 0 1 1 1 1 MfG Spess
ich schrieb: > Eine Maske sagt also immer aus, welche Bitpositionen z.B für einen > Vergleich relevant sind (1) und welche egal sind (0). Wobei es je nach Operation auch genau anders rum sein kann. Eine Maske ist so ähnlich wie im täglichen Leben. Ein Stück Papier mit Löchern drinnen, die du zb auf einen Text legst. Dadurch 'siehst' du nur noch die Buchstaben, die unter den Löchern liegen. Alles andere ist ausgeblendet. Ob diese Löcher jetzt einem 0-Bit entsprechen oder einem 1-Bit, hängt von der Operation ab, die du mithilfe der Maske machst. Auch wie im täglichen Leben: du kannst die Maske benutzen, um nur bestimmte Buchstaben lesbar zu machen. Du kannst die Maske aber auch benutzen um die Buchstaben 'freizustellen', die du mit einem Radiergummi ausradieren willst oder mit einer Farbspraydose übersprühen willst. Erst die Kombination der Maske mit der durchgeführten Operation entscheidet was wirklich passiert. Aber die Maske sorgt auf jeden Fall dafür, dass es nur mit bestimmten Teilen vom ganzen passiert.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.