- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Pinausgang festlegen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2005
    Ort
    Hessen
    Beiträge
    20

    Pinausgang festlegen

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    wie gebe ich einem Ausgangspin ein fetsten Zustand?

    Ich habe es mit "Pinb.0 = 0" versucht und bekomme nur eine Fehlermeldung.
    Wie muss ich es richtig machen?

    Tobias

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hi,

    Pin wie P in, also Eingang,

    Ausgang ist PortB.

    Edit:
    und nicht vergessen vorher mit
    Code:
    Config PortB.0 = Output
    die Richtung festlegen

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2005
    Ort
    Hessen
    Beiträge
    20

    Alle Ports benutzen

    Danke, das hat mir fürs erste schion mal geholfen.
    Aber ich habe gleich noch eine Frage.

    Ich nutze einen ATMEGA 8.
    Wie kann ich die Pins 2 (TXD), 5 (XCk/T0), 6 (T1) und 8 (AIN1) als normalen Ausgang nutzen?
    Die programmierung der anderen Port's klappt problemlos.
    Kann es durch die Doppeltbelegung kommen?

    Der befehl "Portd.5 = 0 " am Pin 2(TXD) bring beispielsweise gar nichts. Eine angeschlossene LED leutet immer!?

    Tobias

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Das TXD nicht geht könnte sein wenn die Baudrate einstgestellt ist, und damit die UART, damit wird das Pin anders verwendet, kann man evtl. wieder per Hand deaktivieren, wenn man UART nicht braucht, oder einfach mal die Baudrate am Anfang nicht angeben.

    Die anderen sollte eigentlich auch so gehen,
    AIN1 ist auf Pin 13 nicht auf 8 denn da ist GND

    Hast Du die Ports auch immer mit Config auf output gestellt, ansonsten rührt sich da nix ?

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2005
    Ort
    Hessen
    Beiträge
    20

    o.k. das erste Problem lag wirklich an der Baudrate

    o.k. das erste Problem lag wirklich an der Baudrate.
    leider habe ich mit den anderen Ports noch immer ein Problem.

    ich weiss leider nicht wie man hier den Code richtig einfügt, Sorry


    $regfile = "m8def.dat"
    '$crystal = 3690000
    '$baud = 19200

    Const Keys = 8

    Config Pinb.0 = Input
    Config Pinb.1 = Input
    Config Pinb.2 = Input
    Config Pinc.0 = Input
    Config Pinc.1 = Input
    Config Pinc.2 = Input
    Config Pinc.3 = Input
    Config Pinc.4 = Input

    Config Portd.0 = Output
    Config Portd.1 = Output
    Config Portd.2 = Output
    Config Portd.3 = Output
    Config Portd.4 = Output
    Config Portd.5 = Output
    Config Portd.6 = Output
    Config Portd.7 = Output

    Dim I As Byte
    Dim Key As Byte

    Do


    For I = 1 To Keys
    Key = I
    Select Case Key
    Case 1 : Debounce Pinb.0 , 0 , Key_o1 , Sub 'o.k.
    Case 2 : Debounce Pinb.1 , 0 , Key_o2 , Sub 'o.k. (lag an der Baudrate)
    Case 3 : Debounce Pinb.2 , 0 , Key_o3 , Sub 'o.k.
    Case 4 : Debounce Pinc.0 , 0 , Key_o4 , Sub 'Schaltet PD.3 und PD.4
    Case 5 : Debounce Pinc.1 , 0 , Key_o5 , Sub 'o.k.
    Case 6 : Debounce Pinc.2 , 0 , Key_o6 , Sub 'passiert nicht
    Case 7 : Debounce Pinc.3 , 0 , Key_o7 , Sub 'o.k.
    Case 8 : Debounce Pinc.4 , 0 , Key_o8 , Sub 'passiert nichts


    End Select
    Next

    Loop

    Key_o1:
    Toggle Portd.0
    Return

    Key_o2:
    Toggle Portd.1
    Return

    Key_o3:
    Toggle Portd.2
    Return

    Key_o4:
    Toggle Portd.3
    Return

    Key_o5:
    Toggle Portd.4
    Return

    Key_o6:
    Toggle Portd.5
    Return

    Key_o7:
    Toggle Portd.6
    Return

    Key_o8:
    Toggle Portd.7
    Return


    End
    Angehängte Dateien Angehängte Dateien

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    erst ein tipp,
    Wenn Du alle 8 Bit eines Port auf Ausgang stellst kannst Du auch gleich Config PortD = Output angeben, spart etwas Platz und verweirrt nicht so.

    Ansonsten hab ich irgendwie das Gefühl, das Du den falschen AVR hast, denn deine Pinbeschreibungen passen nicht zu denen die sie wirklich haben !

    Ist das wirklich ein Mega 8 ?

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2005
    Ort
    Hessen
    Beiträge
    20

    Die Belegung habe ich aus der Beschreibung von Atmel

    Die Belegung habe ich aus der Beschreibung von Atmel.

    Wo vermutest du den Fehler?
    Angehängte Grafiken Angehängte Grafiken

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Das passt schon,
    aber du hast oben immer andere Pinnummern angegeben, deshalb der anflug von Verwirrtheit !

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2005
    Ort
    Hessen
    Beiträge
    20

    Ist der Richtige Atmega

    Sorry,

    habe gerade gesehen was du meinst.
    Ich bin schinbar in den Pins verrutscht.
    Die Beldgung ist natürlich so wie in der Beschreibung des Chips.

    Ist das Programm so o.k.?

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    20.02.2005
    Ort
    Hessen
    Beiträge
    20

    Es waren eine falsche Belegung auf der Platine

    herzlichen Dank für die Unterstützung.
    Der Fehler lag nicht im Programm oder dem Chip sondern war die Folge einer falschen Beldgung auf der Platine. Doofe Lochraster...

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad