-         
+ Antworten
Ergebnis 1 bis 4 von 4

Thema: Geziehlt 0 oder 1 in Pin schreiben

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    09.11.2004
    Ort
    Wernigerode
    Alter
    36
    Beiträge
    51

    Geziehlt 0 oder 1 in Pin schreiben

    Hallo,

    ich möchte eine Zahl parallel an Ports ausgeben. Da aber lediglich 12
    bit benötigt werden und die anderen Pins schon belegt sind muss ich
    einen kompletten Port und 4 Pins eines anderen Ports beschreiben.
    Ich stelle mit das so vor, dass ich einer Methode den Zahlenwert
    vorgebe und diese dann entsprechend die Pins aktiviert bzw deaktiviert,
    je nachdem ob in der binären Schreibweise der Zahl grad ne 0 oder 1 ist.
    An einen ganzen Port kann ich ja die erten 8 Bit direkt übergeben. Mein
    Problem sind die 4 Einzelpins. Ich kenne zwar Befehle zum Setzen und
    Rücksetzten, bin aber der Meinung, dass es einfacher gehen müsste. Kann
    ich Pins evtl zu einer Gruppe zusammenfassen ähnlich wie bei Ports und
    dann einfach die fehlenden 4 Bit einfach reinschreiben?

    Danke für eure Hilfe.
    MFG

    Bomb

  2. #2
    Gast
    ich wüsste nicht, was an einer einfach UND- oder ODER-Verknüpfung so kompliziert ist
    wenn du eine 1 setzen willst, verknüpf das Register per ODER mit einem 8-bit-Wert, bei dem alles 0 ist, bis auf die Bits, die gesetzt werden sollen
    wenn du eine 0 setzen willst, brauchst du eine UND-Verknüpfung mit einem 8-bit-Wert, bei dem alles 1 ist, nur bei den zu löschenden steht eine 0
    mit diesen Befehlen kannst du die 4 Pins also ändern, wie du willst

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    09.11.2004
    Ort
    Wernigerode
    Alter
    36
    Beiträge
    51
    Danke ich bin da grad bei. Hab den gleichen Tipp auch bei Mikrocontroller.net bekommen .
    Hoffendlich klappts so...

    PORTD = (PORTD & 0xC3) | ((gcode<< & 0x3C);

    mit dem verschieben mus sich nochmal nachsehen. ich bin mir nie sicher in welche richtung ich schiebe *lol*
    C3 sind die inneren 4 pins.
    gcode istn 16 bit integer mit der zahl drin.
    MFG

    Bomb

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    09.11.2004
    Ort
    Wernigerode
    Alter
    36
    Beiträge
    51
    ja ich schiebe in die falsche richtung --> gcode>> 8
    MFG

    Bomb

+ Antworten

Berechtigungen

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