Zitat Zitat von MelMan
Muss dich leider enttäuschen, fahre keine PS-Schleuder wie du=).
man sollt ZRX und ZXR nicht velwechsern :-Q

genau wie das Dauerversorgen mit Spannung von der Batterie, denn dazu müsste man ja ein zusätzliches Kabel ziehen.
wennst schon kabel vom reed-sensor, dem zündkabel und dem geschalteten plus ziehen mußt, ist ein weiteres meines erachtens auch schon wurscht. aber gut, ich hab's noch nichtmal geschafft, mein GPS zu verkabeln.

besonders am eintopf gibt's aber bei batterieversorgung eins zu beachten: daß die kontakte bei den vibrationen nicht zeitweise von der batterie hüpfen... siehe die diskussionen über diverse navis am motorrad.

Das Datenblatt hab ich schon ein bisschen gewältzt, ich versteh aber leider nicht ganz genau wie die Quarze im einzelen Modi eine Rolle spielen. Das ist glaub ich das größte Problem, dass ich mit Zündung einen Quarz verweden kann, meinetwegen 10Mhz, und beim Stromsparen drauf verzichte, die Uhr aber trotzdem weiterlaufen kann.
ich bezieh mich im folgenden immer auf das aktuelle datenblatt für mega48/88/...

ich würd prinzipiell nur einen timer über den uhrenquarz laufen lassen (datenblatt s.32 "low frequency crystal oscillator") und die CPU selber über den internen RC-oszillator genaugenommen geht's eh nicht anders, weil das die gleichen pins sind. falls du wirklich 2 uCs einsetzen willst, kannst du über den CLKO-pin den takt des einen ausgeben und dem anderen als externen takt verfüttern, damit ist auch UART-kommunikation kein problem mehr.

lt datenblatt s.39 kannst du mit dem 32kHz-quarz den timer2 laufen lassen im power-save-modus. zum aufwachen hast du dann timer2 (für die uhr) und die externen und pin change interrupts, also das was du brauchst, bei < 1µA verbrauch.

den timer2 kannst dann im "normal mode" betreiben, beim overflow gibt's einen interrupt, den den controller aufweckt, dort zählst die uhr weiter und legst ihn wieder schlafen. wegen betrieb mit dem uhrenquarz siehe s. 155, wesentlich ist hier glaub ich nur der punkt, daß du den uC nicht wieder schlafen schicken darfst, bevor ein neuer taktzyklus des uhrenquarzes angefangen hat; das sind bei 8MHz takt 244 CPU-takte, könnt also bei effizienter programmierung schon vorkommen. im zweifelsfall läßt man da halt noch eine LED aufblitzen als alarmanlagen-simulator

den prescaler kannst du auf 128 setzen, dann wacht der uC jede sekunde auf, oder gleich auf 1024, dann mußt halt jedesmal 8 sekunden weiterzählen.

wenn man schon eine quarzgenaue taktquelle hat, liegt es nahe, die auch für die drehzahl- und geschwindigkeitsmessung zu verwenden; dafür sind allerdings die 256Hz auflösung, die du (mit prescaler 12 kriegst, du wenig, man müßt also entweder beim "einschalten" den prescaler umschalten (da steht nix konkretes im datenblatt, was dann passiert) oder den RC-oszillator at runtime kalibrieren, und das wohl auch noch regelmäßig, weil zwischen z.B.heiligenblut und hochtörl sind ja doch ein paar grad temperaturunterschied.

soweit einmal meine ideen,

cm.