-         

Ergebnis 1 bis 4 von 4

Thema: einfache Frage zu Zuweisungen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    16.06.2004
    Alter
    30
    Beiträge
    77

    einfache Frage zu Zuweisungen

    Anzeige

    Hallo,
    ich beschäftige mich seit ca. einer Woche mit C. Möchte auf die Dauer von Basic auf C umsteigen. Aber alles braucht nun mal Übung....

    Jetzt ist meine einfache Frage, wie ich einem Ausgang (Bit) eines Ports den Wert eines Eingangs zuweisen kann. In Bascom gehtdas ja wie folgt:

    Code:
    Portb.0=Pina.7
    Ich habe es wie folgt gemacht, das erscheint mir allerdings ein wenig aufwendig:
    Code:
       a= 0x80 & PINB;
       a=(a>>PB7);
    
       if(a!=(PORTB & 1)){
       PORTB &= ~(1);
       PORTB |= a;
    	}
    Vielleicht kann mir ja mal jemand kurz auf die Sprünge helfen. Die If Abfrage hab ich drin, damit wenn der Port schon 1 ist, er nicht während des Ablaufs resettet wird.

    Gruß
    Baui

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.11.2006
    Ort
    Geislingen a. d. Steige
    Alter
    26
    Beiträge
    344
    Hi,
    also das funktioniert so:

    Bit setzen.

    PORTX |= (1<<a); // a ist die nummer des bit
    oder mehrere gleichzeitg
    PORTX |= (1<<a) | (1<<b) | (1<<c) ;

    Bit löschen.

    PORTX &= ~(1<<y);
    oder mehrere gleichzeitg
    PORTX &= ~((1<<a) | (1<<b) | (1<<c));

    MfG Martin

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    16.06.2004
    Alter
    30
    Beiträge
    77
    hallo martin,
    ja das habe ich ja bereits so gemacht.

    Also gibt es keine direkte Möglichkeit ein Bit eines Ports einem anderen Portbit direkt zuzuweisen, ohne dieses vorher zu löschen und dann wieder zu setzen?

    Gruß
    Baui

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.11.2006
    Ort
    Geislingen a. d. Steige
    Alter
    26
    Beiträge
    344
    Ich kenn keine!

    Martin

Berechtigungen

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