Hallo Zusammen, Bin an einer Batterie betriebenen Applikation. Der Mikroprozessor kann über mehrere Tage schlafen und wird nur durch einen Vibrationssensor geweckt. Leider hat der Vibrationssensor welchen ich verwenden wollte http://de.farnell.com/sensolute/mvs0608-02/sensor-microvibration/dp/1768152?Ntt=sensolute keinen definierten Zustand, ist also LOW oder High in der Ruhephase. Somit kann ich wohl den INT0 vergessen oder? Der INTO wird ja durch ein LOW LEVEL ausgelöst und wenn der Sensor per Zufall immer auf LOW zieht, kann ich den ATMEGA8 gar nicht schlafen schicken, oder? Guss Domi
Hi Schau mal in die Doku vom ATmega8 auf seite 66 Interupt Sense Control ISCn = 01 "Any logical change on INT generates an interrupt request."
Hallo Florian, der nächste Satz ist das Problem "...Note that recognition of falling or rising edge interrupts on INT0 and INT1 requires the presence of an I/O clock, described in “Clock Systems and their Distribution” on page 25..."" Wenn ich den Prozessor schlafen schicke, dann habe ich keinen clock mehr, dann geht es nur mit LOW LEVEL oder nicht? Gruss
Hatte auch mal so ein Problem, müsste mal nachschauen, wie ich das gelöst habe. Wenn ich mich recht erinnere, den ATMega88 genommen, mit dem ging das (pin-change-Int).
Hallo, Hm, PCINT könnte tatsächlich funktionieren. Werde diese option einmal prüfen. Beim ATMega8 fehlt dieser leider. Danke Pascal
Kanst ja auch direkt vor dem Schlafen legen den Pegel lesen und davon abhängig die Aufweckbedingung immer individuell einstellen.
Selbst HW-mäßig wäre nicht so schwer: einfach ein Flipflop + XNOR-Gatter.
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.