Siehe Datenblatt - Seite 128
Der interne Pullup ist zwischen 20 und 100 Kiloohm groß.
Grüße,
Hanni
Hallo, ich hab das Datenblatt von meinem ATTiny26 sowie dies Forum und Google bemüht, aber ich finde irgendwie nirgends den Wert der internen Pullups. Mein Problem konkret ist, das ich einen Zustand erfassen will, entweder einen Widerstand von ca. 1KOhm, oder 20KOhm, mit dem internen Pullup scheint das aber nicht zu funktionieren. Zum Test hängt an PA0 eine LED.
Danke!!Code:#include <avr/io.h> #include <util/delay.h> void init() { DDRA = (1<<0); //PA0 out,rest input PORTA = (1<<1); //enable pullup for PA1, PA0 low } int main(void) { int cnt; for (cnt=0;cnt<10;cnt++) { PORTA |= (1<<0); _delay_ms(4000); PORTA &= ~(1<<0); _delay_ms(4000); } while (1) { if ((PORTA & (1<<1)) == 0) PORTA |= (1<<0); else PORTA &= ~(1<<0);; } return 0; }
Siehe Datenblatt - Seite 128
Der interne Pullup ist zwischen 20 und 100 Kiloohm groß.
Grüße,
Hanni
Grundregeln des Forenpostings:
1. Nutze niemals die Suchfunktion!
2. Überprüfe niemals die Topics nach Ähnlichkeiten!
3. Schreibe alles in hellgelb!
Oh Gott, danke!! Ich sollte mal weniger Drogen nehmen
Jetzt seh ich's auch. Naja, da werd ich wohl lieber einen externen Pullup nehmen, da weiß ich dann wenigstens, wie groß der ist, und kann mit meinen 1/20 KOhm 'nen Spannungsteiler bauen, der das auf TTL ummünzt.
Ok, und wenn man dann zum lesen des Pins PINA statt PORTA nimmt, klappt's auch
Meine kleine Seite
http://home.arcor.de/volker.klaffehn
http://vklaffehn.funpic.de/cms
neuer Avatar, meine geheime Identität
Lesezeichen