Archiv verlassen und diese Seite im Standarddesign anzeigen : Pinausgang festlegen
tobiasrie
03.12.2005, 16:11
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
linux_80
03.12.2005, 16:12
Hi,
Pin wie P in, also Eingang,
Ausgang ist PortB.
Edit:
und nicht vergessen vorher mit
Config PortB.0 = Output
die Richtung festlegen
tobiasrie
03.12.2005, 17:18
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
linux_80
03.12.2005, 17:41
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 ?
tobiasrie
03.12.2005, 18:00
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
linux_80
03.12.2005, 18:13
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 ?
tobiasrie
03.12.2005, 18:46
Die Belegung habe ich aus der Beschreibung von Atmel.
Wo vermutest du den Fehler?
linux_80
03.12.2005, 18:49
Das passt schon,
aber du hast oben immer andere Pinnummern angegeben, deshalb der anflug von Verwirrtheit !
tobiasrie
03.12.2005, 18:51
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.?
tobiasrie
03.12.2005, 19:08
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...
linux_80
03.12.2005, 19:08
das sollte soweit laufen,
evtl. könnte man die Pullups der Eingänge aktivieren, damit die Signale etwas stabiler werden,
also nach dem configurieren als input die Pins mit zB. Portb.0 = 1 den Pullup anmachen.
Das kommt aber drauf an wie Du das alles angeschlossen und verkabelt hast. (Schalter nach GND)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.