-         
Ergebnis 1 bis 4 von 4

Thema: komischer fehler

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.05.2005
    Ort
    Rott am Inn
    Alter
    30
    Beiträge
    373

    komischer fehler

    Anzeige

    hallo,
    also folgendes ich hab in meinem programm zwei ausgänge und möchte diese zusammen löschen.
    PORTB &=~ (1<<PB0)&(1<<PB1);
    nur leider löscht er nur PB0. das kapier ich irgendwie nicht. denn das geht doch normalerweiße so wie es oben steht. jetz hab ich kurz umgeformt
    PORTB &=~(1<<PB0); PORTB &=~(1<<PB1);
    nun funktionierts. aber ich kann mir das einfach nicht erklären.
    mfg franz

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Es sollte heissen

    PORTB &=~ (1<<PB0) & ~(1<<PB1);

    Deine zweite Lösung hat aber einige Vorteile (kürzer, schneller und atomar), setzt die Ports allerdings nacheinander.
    Disclaimer: none. Sue me.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    31
    Beiträge
    674
    Man könnte auch folgendes schreiben, was ich persönlich übersichtlicher finde:

    PORTB &= ~( (1<<PB0) | (1<<PB1) )

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    @Pascal: Dem würde ich mich anschliessen. C hat eh' den schlechten Ruf, daß er für ungeübte schlecht lesbar ist.

    "Alle Dateien nicht löschen ? Enter J/N"
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

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