hiho @ all,
nach einer Pause habe ich ein altes Projekt von mir wieder
herausgekramt, an welchem ich vor längerer Zeit gearbeitet habe. Da ich
mich bei diesem zuletzt ein wenig in meiner Programmierung festgefahren
hatte, wollte ich nun anstatt den externen Interrupt zu nutzen einfach
standardmäßig 2 Eingänge verwenden.
Ich nutze einen ATtiny15L.
Laut Datenblatt geht meiner Meinung nach hervor, das man PB0-PB5 als
Ein/-Ausgänge nutzen kann. Mit einem kleinen Testprogramm konnte ich die
einzelnen PINs als Ausgang ansprechen. Leider habe ich ein Problem die
Pins als Eingänge zu verwenden.
Mein Testprogramm hierzu:
1 | ldi r16, 0b00000001 //Vorinitialisierung des Ports-PIN 0 wird Ausgang
|
2 | out DDRB, r16 //Vorinitialisierung des Ports
|
3 |
|
4 | main:
|
5 |
|
6 | sbis PORTB, 3 //schaue ob PIN 3(in dem Fall jetzt) gesetzt is
|
7 | rjmp main //wenn "nein" springe hoch zu main
|
8 | sbi PORTB, 0 //wenn "ja", setzte Pin 0 auf PORTB
|
9 | rjmp main
|
Ja was soll ich sagen, wenn ich auf Pin3 ein highsignal geben, bleibt
die Ausgang low und wird nicht gesetzt.
Das Eingangssignal erzeuge ich mit einen entprelltem Taster welchen ich
mit VCC des Mikroprozessors und mit Pin3 verbunden habe. Ich habe auch
schon gemessen, dass bei betätigen des Tasters die 5V an Pin3 anliegen.
Weiß jemand was ich falsch mache? Oder kann man mit dem ATtiny15L gar
nicht standardmäßig auf Eingänge zugreifen!?