Forum: Mikrocontroller und Digitale Elektronik Problem mit Bascom


von Jakob Gebel (Gast)


Lesenswert?

Hi,

ich habe ein ganz komisches Problem. Ich habe folgenden Quelltest:

Ddra = &B00000000
Ddrc = &B11111111
Ddrd = &B11111111

Config Porta = Input
Config Portc = Output
Config Portd = Output

Do
If Pina.0 = 1 Then
   Portd.0 = 1
   Portc.0 = 1
Else
   Portc.0 = 0
   Portd.0 = 0
End If
Loop

Wenn ich das auf meinen ATMEGA8515 überspiele und dann Pina.0 über
einen Schalter mit 5V verbinde, dann passiert rein garnichts. Ich kann
weder an Portd.0 noch an Portd.1 eine Spannungsveränderung feststellen.
Woran kann das liegen? Programmieren kann ich den AVR ja. Daran kann es
also nicht liegen.

Danke für eure Hilfe!

von Gerhard (Gast)


Lesenswert?

Hi Jakob

mach den Schalter mal nach Masse rein ,
dann soll's funzen.

Gruss Gerhard

von Schmittchen (Gast)


Lesenswert?

... und nicht vergessen den internen Pullup einzuschalten oder einen
externen dranlöten. (keine Ahnung ob "Config Porta = Input" das
beinhaltet).

von Klaus Angenendt (Gast)


Lesenswert?

Hallo Jakob,

wie vorher schon geschrieben wurde, Schalter an Masse und internen
Pullup einschalten.
Die Zeilen mit ddrx kannste dir schenken. Config Portx ist das Gleiche.
Wenn du einzelne Pins von einem Port auf Input und Output stellen
willst, das geht dann mit ddrx..

So müsste es gehen:

Config Porta = Input
Config Portc = Output
Config Portd = Output

Set Porta.0               'internen Pullup einschalten

Do
If Pina.0 = 1 Then
   Portd.0 = 1
   Portc.0 = 1
Else
   Portc.0 = 0
   Portd.0 = 0
End If
Loop

Gruß Klaus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.