AVR (speziell ATtiny13) Port B will nicht so richtig

Gast #4123808
Lesenswert?
• ▲
▼
Sehe gerade vor lauter Bäume den Wald nicht mehr und google hilft mir 
auch nicht wirklich weiter, obwohl ich meine das Problem sei mir schon 
mal untergekommen.

Habe schon einige male mit ATMEGA8 und ATMEGA32 gearbeitet. Dabei habe 
ich immer die SPI Schnittstelle zum flashen verwendet und die Pins sonst 
nicht verwendet.

Beim Attiny13 kann man sich dies mit den 5 Portpins natürlich nicht 
erlauben. Nur ich kann speziell auf den PIN B1 in meinem Programm nicht 
zugreifen.

Dies habe ich programmiert:

#define INPUTMASK  0x02
#define KALIBRIERUNG  0x00

….

unsigned char byMode;
…..
DDRB = 0x10;  //PB4: Out PB3 ...PB0: In
PORTB = 0x03;  //PB4 = 0 PB3, PB2 kein Pull Up, PB1, PB0 mit Pull Up

byMode = PINB;
byMode = byMode  & INPUTMASK;  //PB1 isolieren
if (byMode == KALIBRIERUNG)
{
  //Abgleich Mode
}
else
{
  //Run Mode
}

-----

Lock und Fuse Bits befinden sich in der default Stellung.

Der Port B1 kann mit einem Jumper auf GND gezogen werden.

Das Problem ist nun, dass der Port B1 gar nicht als Input arbeitet. 
Jedenfalls kommt am offenen Port Pin B1 „0 Signal“ heraus (also nichts 
mit Pull Up) und das Programm landet in der If Abfrage immer im Abgleich 
Mode, ließt also eine 0 ein.

Falls jemand sieht was wahrscheinlich offen vor mir liegt, ich aber 
einfach nicht erkenne, bitte ich um einen kurzen Tipp.

Herzlichen Dank
#4123837
Lesenswert?
• ▲
▼
@ Transi (Gast)

>Beim Attiny13 kann man sich dies mit den 5 Portpins natürlich nicht
>erlauben. Nur ich kann speziell auf den PIN B1 in meinem Programm nicht
>zugreifen.

>Das Problem ist nun, dass der Port B1 gar nicht als Input arbeitet.

Doch.

>Jedenfalls kommt am offenen Port Pin B1 „0 Signal“ heraus (also nichts
>mit Pull Up)

Was hängt denn aussen noch an dem Pin dran?

Poste den ORIGINALEN Quelltext als Anhang und nicht abgeschriebene 
Fragmente.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren