-         

Ergebnis 1 bis 4 von 4

Thema: Frage zu einem Operator

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385

    Frage zu einem Operator

    Anzeige

    Hi,
    in dem Tutorial, das ich gerade über AVR-C Programmierung lese wird zum Einschalten des TX das hier gemacht:
    Code:
    UCSRB |= (1<<TXEN)
    Die Schreibweise
    Code:
    UCSRB = 0x08;
    verstehe ich ja mittlerweile, aber was das da oben soll, check ich nicht. Laut Tut. heißt das
    "Bit-Verschiebung nach links", darunter kann ich mir aber nichts vorstellen.
    Kann mir das bitte jemand erklären?

    mfg
    jagdfalke

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    46
    Beiträge
    2.236
    Grundlagen der C Programmierung:


    UCSRB |= (1<<TXEN)

    bedeutet soviel wie :


    UCSRB = UCSRB | (1<<TXEN)

    also Register UCSRB wird mit (1<<TXEN) "verodert"

    irgendwo in der headerdatei iom32.h(Du hast doch Mega32, oder?) findest Du sowas
    #define TXEN 3

    hiermit wird TXEN gleich 3 gesetzt und (1<<3) heißt dann,
    setze eine eins und verschiebe sie um 3 Stellen nach links etwa so 00000100.
    Ich hoffe, das es stimmt, und klar ist.

    Gruß Sebastian

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,
    um 3 Bit wird nach links verschoben, also Binär 00001000
    das ergibt wie oben schon angegeben $08.


    Edit:
    dann noch was, das Oder | bedeutet, das alle anderen Bits im Register so bleiben, und nur das eine TXEN geändert wird.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    Aso, also muss ich nicht immer schaun, wie ist das Bit gesetzt und es dann wieder neu setzen nur weil ich eines ändern will.
    Danke !

    mfg
    jagdfalke

Berechtigungen

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