-         

Ergebnis 1 bis 3 von 3

Thema: Frage zum Programmieren der Ports

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    01.06.2006
    Ort
    Gernrode-Ilmenau
    Beiträge
    48

    Frage zum Programmieren der Ports

    Anzeige

    Hallo,
    ich habe mal eine Frage zu den Ports des ATMEGA. Und zwar kann ich die ja mit den vorgegebenen Funktionen aus der Asuro lib ansprechen.Da ist man aber etwas eingeschränkt.

    Meine Frage ist jetzt, wie kann ich das direkt tun, also z.B.
    möchte ich PORT PB0 als Ausgang nutzen und ein bzw. ausschalten. Gibt es da auch die möglichkeit, ihn mit VCC, oder Masse zu belegen?
    Es wäre echt prima wenn mit jemand mal ein Beispiel mit Erklärung schicken könnte.
    Vielen Dank
    Geimel

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.05.2005
    Ort
    Rott am Inn
    Alter
    29
    Beiträge
    373
    hallo,
    du kannst die pins einzeln deklarieren das schaut dann in etwa so aus
    portb.0 = output
    portb.0 = 1 5VPegel am Ausgang
    portb.0 = 0 0VPegel am Ausgang
    wenn du es nicht verstanden hast ich helfe gern nochmal
    mfg franzl

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    61
    Beiträge
    531
    Hallo,

    //schaltet nur PB0 wie Ausgang (bit 0 in DDRB hoch)
    DDRB|=(1<<PB0);

    //schaltet nur PB0 wie Eingang (bit 0 in DDRB niedrich)
    DDRB&=~(1<<PB0);

    //schaltet nur PB0 hoch
    PORTB|=(1<<PB0);

    //schaltet nur PB0 niedrich
    PORTB&=~(1<<PB0);

    //tested ob port PB0 hoch ist
    if ( PINB & (1<<PB0) ) { //mach etwas }

    //tested ob port PB0 niedrich ist
    if ( ! ( PINB & (1<<PB0) ) ) { //mach etwas }

    Die ports liefern maximal 20mA damit kann mann keine Motoren gerade ansteurn. Aber LED's ansteuern geht prima.

    Mann kann ports an VCC oder GND anschliessen aber bitte nur
    wenn der port wie EINGANG geschaltet ist. Denn wenn ein Port wie Ausgang geschaltet ist wahrend er auch an VCC oder GND angeschlossen ist, dann geht die Ausgang/Treiber kaput.

    Wenn ein Port wie Eingang geschaltet ist (mittels 'DDRB') und hoch gemacht wird (mittels 'PORTB') dann wird ein eingebautes pull-up Widerstand van zirka 20-50KOhm zum VCC eingeschaltet.


    Gruss

    Henk

Berechtigungen

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