Ja danke! Das hatte mich vorher nie so recht interessiert mit den
Pullups. Ich sehe auch wenig Sinn in der Funktion, da der Widerstand ja
doch etwas groß ist, wie Du gerade sagtest. Ich wollte mal Taster ohne
zusätzlichen Pullup anschließen, was natürlich mächtig daneben ging -
oder ich hatte die dummerweise garnicht aktiviert, Das würde das
Problem erklären.
Aber letztendlich hat der PB2 irgedwie eine Sonderstellung wegen dem
Analog-Komparator. Dazu sollten die internen Pullups deaktiviert sein,
so dass die Initialisierung so aussehen müsste:
DDRB &= ~(1<<PB2); /* 1-Wire auf Eingang */
PORTB &= ~(1<<PB2); /* interne PullUps deaktivieren */
Klar ist das extern der 4.7k-Widerstand als PullUp dient.
Aber dennoch funktioniert das Ganze nicht und an PA2 funktioniert es.
Das ist es, was ich nicht verstehe.
Letztendlich muss ich ja nur die 4 defines verändern und das geht
einfach nicht. Irgendwo ist das was mit dem Port nicht so, wie es sein
soll.
#define DS1820_PORT_DDR DDRB
#define DS1820_PORT_OUT PORTB
#define DS1820_PORT_IN PINB
#define DS1820_BIT_1WR PB2