- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 4 von 4

Thema: ATMEGA16 + STK500 - Lauflicht

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    jein ^^

    du schiebst eine 0 um 2 stellen nach links ...

    (0<<2) == 0b0000000_0_ -> 0b00000_0_00

    da kannst du nullen schieben so viel wie du willst ^^

    die operation die du suchst ist das negieren '~'

    PortX = PortX & ~(1<<2)

    ~(1<<2) == 0b0000000_1_ -> 0b00000_1_00 -> 0b11111_0_111

    EDIT: Nur nachträglich zur Erklärung, beim shiften wird der Inhalt der Variable (in dem Falle eine 0, die 8 Stück Nullbits entspricht) um die angegebene Zahl Stellen nach Links bzw. Rechts verschoben, und freiwerdende Stellen werden mit weiteren Nullen aufgefüllt (immer). Daher muss man um einzelne Bits aus einer anderen Zahl zu löschen, erst die entsprechenden Stellen über SHIFT und ODER Operationen auf 1 setzen und dann die ganze Zahl negieren und mit UND die Bits aus der Zielzahl so ausmaskieren.

    Wenn ich mehrere Bits löschen will, sieht das dann so aus:

    PortX &= ~( (1<<2) | (1<<4) | (1<<7) );

    alternativ ginge auch

    PortX &= ~(37<<2);

    aber so verliert man schnell die Übersicht!
    Geändert von Ceos (19.05.2011 um 13:30 Uhr)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Ähnliche Themen

  1. Atmega16, STK500: Switch X gedrückt => LED X soll leuchten
    Von Kesandal im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 1
    Letzter Beitrag: 28.04.2011, 20:44
  2. STK500, Atmega16, UART, AVR Studio4
    Von Jimmy83 im Forum C - Programmierung (GCC u.a.)
    Antworten: 35
    Letzter Beitrag: 14.04.2010, 08:38
  3. Lauflicht
    Von Matze0001 im Forum Elektronik
    Antworten: 31
    Letzter Beitrag: 18.08.2009, 17:33
  4. Assembler Beispielprogramm fürs STK500 (ATmega16)
    Von KartoffeL im Forum Assembler-Programmierung
    Antworten: 1
    Letzter Beitrag: 14.06.2007, 13:15
  5. ATmega16 und STK500
    Von andkut im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 15.01.2005, 15:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test