Atmega8 16MHz Habe einen IR Empfänger TSOP38 am INT1 angeschlossen! Und realisiere damit einen IR Empfänger der mir die Codes per RS232 an den PC schickt! Dies funktioniert soweit auch ganz gut! Nun wollte ich die schaltung etwas Stromsparender machen und die schaltung in den Sleep Modus versetzen! trifft sich ja ehh gut da der IR EMpfänger am INT1 hängt! Im Idle mode funktioniert dies auch! im Power Save Mode sendet er zwar auch was an den PC aber dass sind immer falsche Codes! So dachte ich er fängt zu spät mit der Auswertung an, also Timer1 fragt zu spät also an der falschen Stelle die Bits des RC5Codes ab und liefert so falsche Codes an den PC! So wäre ein möglicher ansatz den Timer beim ersten mal nicht so hoch zählen zu lassen! doch weiss ich nicht genau wie hoch! Normal zählt er bis 14098 das sind 899µs. Ich hab davon gelesen dass der µC eine bestimmte zeit braucht bis er wieder da ist! so um die 5µs oder 6Takte http://www.mikrocontroller.net/articles/Sleep_Mode#Morgenmuffel was ich nicht ganz verstehe! Sind es nun 5µs oder 6Takte? 6Takte sind bei 16MHz doch 0,375µs habe auch schon beides ausprobiert! Also einmal nur bis 14092 (-6Takte) gezählt und einmal nur bis 14018(-80Takte 5µs) funktioniert aber dennoch nicht! was könnte ich noch falsch machen?
Da Du 16MHz hast, nehme ich an, Du hast einen Quartzoszillator. Die brauchen zum Start aus dem Sleep einige 10 bis 100 Millisekunden, das ist doch viel zu lang um noch auf den RC5 Frame zu reagieren, oder täusche ich mich da?
hmm und wie finde ich heraus wie lang genau? also 10-100µs sind ja nicht gerade genau! Ich habe eigentlich 899µs Zeit! theoretisch sogar das doppelte! aber da müsst ich wieder umständlich was reinprogrammieren!
achso millisekunden?!?!?!?!? das ist vieeeeeeeeel zu lang Aber nun weiss ich wenigstens an was es liegt an "Main Clock Source Enabled" dann nehme ich einfach den Standby mode der is ja genauso gut wie Power save bzw zumindest besser vom stromverbrauch wie IDLE und mit dem funktionierts nun auch! Danke fürs schnelle Antworten
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.