Wie lang drückt denn jemand typischerweise eine Taste in milli-Sekunden? Gibt es da Erfahrungswerte? Hintergrund: Muss einen Dallas One-Wire iButton pollen. Wenn ich das richtig verstanden hab, funktioniert das so, dass der iButton (so ne Art Knopfzelle mit IC drin), in eine Fassung eingedrückt wird und dann beim nächsten Pollen ein Lebenszeichen schickt (nämlich seinen 64bit Code). Das funktioniert auch, kein Problem. Will den aber nun auch erkennen, wenn man den "normal" kurz angelegt, jedoch aus Stromspargründen nur so oft pollen, wie es denn auch sein muss. Dazwischen darf der schlafen. Wär jetzt natürlich kein Problem, das jede halbe, viertel oder so Sekunde zu machen, aber ich dachte, ich frag halt mal nach typischen Tastzeiten. Grüsse
Andere Idee: Mach den Pullup vom 1-Wire schaltbar. Dann mit einem zweiten viel hochohmigeren Pullup am 1-Wire detektieren, ob da jemand gerade was in die Fassung drückt. Damit einen flankengetriggerten Interrupt füttern, so wacht der µC auf, schaltet den "richtigen Pullup an und beginnt mit der Kommunikation. Und schon muss dein µC nicht mehr zyklisch aufwachen. mfg mf
Das ist vielleicht ausgefuchst :-). Sehr clever. Danke für den Tip. Ich muss mal am Oszi kucken, bei welchen schwachen Pull-ups der eingesetze iButton den Interrupt Pin genügend auf logisch 0 zieht. Grüsse
reflex schrieb: > bei welchen schwachen Pull-ups Interne Pullups haben bei den ATmegas so 40-60kΩ. Außerdem muss der iButton ja auch erstmal seine interne Pufferkapazität vollpumpen, sollte also so funzen... mf
Es ist Quatsch den Pullup umzuschalten. Da der iButton länger als 480µs (Reset Bedingung) nicht an Spannung angeschlossen war, wird er kurz nach anlegen der Spannung die Data-Leitung für 60µs-240µs auf Low ziehen: Presence-Pulse. Gruß John
OK, das heisst entweder gleich den Interrupt Pin als One-wire Pin nehmen oder beide parallel schalten. Danke an alle.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.