Wie kann es sein, daß mit folgender, einmaliger Einstellung für den ADC: ADMUX = 1<<MUX1 | 1<<MUX0 ; ADCSRA = 1<<ADEN | 1<<ADSC | 1<<ADPS2 | 1<<ADPS1 | 1<<ADPS0 ; ADCSRB = 0; trotzdem in einer Schleife ständig (scheinbar richtige) Werte aus ADCW gelesen werden können? Ist das etwa nicht der Modus für eine einfache Wandlung? Andererseits müßte für den free running mode das doch als Auto Trigger Source eingestellt werden.
Oder wandelt der sowieso ständig, und ADSC ist nur zum Synchronisieren gedacht?
Ach so, das ist das 'start conversion' bit.
Siehst Du, und wenn das in einer Schleife läuft, kannst Du auch in der Schleife die fertigen Messwerte von vorgestern auslesen (13.5Clock Verzug), wenn die oben aufgezeigte Initialisrung Bestandteil deiner Schleife ist. Normal wartet man, bis der wandler fertig ist und liesst dann die Werte aus. xlr.
> mit folgender, einmaliger Einstellung für den ADC:
Auch wenn der ADC nicht mehr wandelt, kann man den zuletzt gewandelten Wert immer wieder auslesen, er nutzt sich dadurch nicht ab... ...
@Koko: Solange Du keinen Code postest, der dieses Verhalten zeigt, kann man nur raten bzw. sagen, dass mit dem Initialisierungs-Schnipsel oben definitiv nur eine Wandlung durchgeführt wird...
Was das Bit bewirkt, war mir klar, ich dachte, Dir erstanunlicherweise nicht, deshalb das 'Ach so'. Die Initialisierung findet natürlich nur einmal statt. In einer ISR wird dann von aus ADCW von einem Poti gemessen, aber eben immer passende, unterschiedliche Werte.
Dann wird vermutlich auch in dieser ISR das ADSC irgendwo wieder gesetzt... Aber ich hab echt keinen Bock auf Ratespielchen...
Es kann also nicht sein, sonst müsste immer derselbe Wert gelesen werden. Dann bleibt wohl nur die Möglichkeit, daß er unbemerkt reset'tet.. Danke, prüfe ich mal.
> Ratespielchen
Ich hätte 'planmäßig unterschiedliche Werte' schreiben sollen, stimmt.
Ansonsten finde ich die Fragestellung ziemlich präzise, ich habe doch
gar nicht verlangt, daß Du rätst, oder mein vermutlich nicht vorhandenes
Problem im Programm löst.. ?
Koko Lores wrote: >> Ratespielchen > > Ich hätte 'planmäßig unterschiedliche Werte' schreiben sollen, stimmt. Das hat er auch gar nicht gemeint. Du hast ein Problem in einem Code. Du siehst das Problem nicht obwohl du den Code siehst. Du erwartest aber das hier jemand dein Problem erkennen soll, obwohl er den Code nicht sieht. Es ist doch nicht so schwer: Wenn ein Code nicht das tut was du erwartest, dann poste den Code. Du rufst ja auch nicht beim Doktor an und sagst: "Es tut weh", sondern du gehst selber hin, damit sich der gute Mann dein Problem mal anschauen kann.
Kann es sein, dass Du den Tiny13 schlafen schickst? Denn Sleep im Idle-Mode startet eine ADC-Conversion, falls der ADC eingeschaltet ist. ...
Ach Leute, das ist einer von der ganz schlauen Sorte, der weiß zwar nichts, will aber immer alles besser wissen. Hier eines der vielen Beispiele: Beitrag "C51, Addressierungsmethoden von Befehlen"
> Du erwartest aber das hier jemand dein Problem erkennen > soll, obwohl er den Code nicht sieht. Das ist eben nicht der Fall, und deswegen finde ich es schade, daß man gleich angemacht wird. Ich hoffe nur auf eine direkte Antwort auf meine Frage - wenn keine Antwort kommt, oder ich mein Problem nicht anhand der Antwort lösen kann, muß ich präzisieren. Hannes finde ich beispielhaft, eine prägnante Antwort auf die in der Frage enthaltenen Informationen. Nicht mehr, nicht weniger, keine Vorwürfe, und jetzt auch noch der Treffer. Und in jedem Fall eine sehr hohe Informationsdichte, auch wenn die erste Antwort aufgrund meiner vagen Frage für mich nichts löst. Aber vielleicht sollte ich mich gar nicht verteidigen, weil sowas ja im Allgemeinen zu nichts führt, ausufert, und dann irgendwann Antipathien erzeugt. Ich habe mir vorherh im Datenblatt die ADC Beschreibung bestimmt 3 mal zielstrebig überflogen, von Sleep-Modi stand da nix. Ich guck nochmal nach. Hättet Ihr's gewußt? Also danke.
Aha, es steht bei "ADC Noise Canceler" Und nicht etwa bei "Operation" > The ADC does not consume power when ADEN is cleared, so it is recommended to > switch off the ADC before entering power saving sleep modes. Warum kein 'Otherwise, a conversion is started. See >ADC Noise Canceler<." ?
Bei der Gelegenheit: Wo steht, unter welchen Bedingungen das erste Ergebnis einer Wandlung ungültig ist? Ich habe nur etwas darüber bezüglich des Umschaltens gesehen - gilt Einschalten in dem Fall auch als Umschalten?
Koko Lores wrote: > > Hannes finde ich beispielhaft, eine prägnante Antwort auf die in der > Frage enthaltenen Informationen. Hannes hat heute seine Glaskugel geputzt. Ein dreifach "Hoch" auf ihn. > Nicht mehr, nicht weniger, keine > Vorwürfe, und jetzt auch noch der Treffer. Genau das waren die 'Ratespiele'. Es war ein Glückstreffer. Vielleicht ist Hannes in den letzten 2 Wochen selbst auf ein derartiges Problem hineingefallen, vielleicht hat er aber auch nur heute Nacht schlecht geschlafen. > Aber vielleicht sollte ich mich gar nicht verteidigen, Du sollst dich auch nicht verteidigen. Du sollst einfach nur daraus lernen: * Programm tut nicht so wie erwartet: In der Fargestellung die relevanten Codeausschnitte mit anführen. Wenn du nicht weist was relevant ist, dann poste alles. Plain and simple.
> Glückstreffer Ich glaube eher, das Hannes sich wirklich mit den AVRs auskennt, und deshalb diese Eigenschaft als mögliche Ursache des geschilderten Verhaltens in Betracht ziehen konnte.
Koko, geh in Dich... die Kritik ist berechtigt.
@Kokolores: Ich muss Dich leider enttäuschen. Die Kritik ist berechtigt, ich habe bei Deinen Äußerungen (auch in Deinen anderen Threads) auch schon einige male schlucken müssen und war jetzt auch kurz davor, meinen Unmut zu äußern. Dein Verhalten entspricht nicht dem eines Hilfesuchenden. Nein, Du sollst nicht - kuschen, - angekrochen kommen, - schleimen, oder so ähnlich, Du sollst Dich nur nicht immer für Wissender halten als Du bist. So, genug geschimpft, der Dampf ist erstmal 'raus... @Karl heinz: Danke für das Dreifach Hoch, ich nehme es aber nicht an, weil ich es nicht verdient habe. @Kokolores: Ich habe mich lediglich daran erinnert, dass irgendein alter AVR (war es der '4433??) dieses (hervorragende!) Feature hatte und habe nun im Datenblatt des Tiny13 (der beiweitem nicht mein "Liebling" ist) nachgesehen, ob er dieses Feature auch hat. Und Bingo, er hat. Das steht natürlich nicht beim ADC sondern in der Beschreibung der Sleep-Modes. Sorry, die Platzierung dieser Info ist nicht mein Werk... Wo geschrieben steht, dass die erste ADC-Wandlung ungültig ist, weiß ich im Moment auch nicht. Ich weiß auch nicht, ob das für alle AVRs und für jeden Programmierstil zutreffend ist. Ich habe auch nicht soviel Ehrgeiz, dass ich jetzt das Datenblatt eines AVRs, den ich eigentlich nicht mag, durhforste, nur um Dir die Arbeit der Suche zu ersparen. Sorry, ist halt so. Beste Grüße, Hannes
>Ich glaube eher, das Hannes sich wirklich mit den AVRs auskennt, und >deshalb diese Eigenschaft als mögliche Ursache des geschilderten >Verhaltens in Betracht ziehen konnte. Tut mir leid, aber ich finde, diese Aussage ist eine in geschwollenes Deutsch gekleidete Unverschämtheit.
Jack Braun wrote: >>Ich glaube eher, das Hannes sich wirklich mit den AVRs auskennt, und >>deshalb diese Eigenschaft als mögliche Ursache des geschilderten >>Verhaltens in Betracht ziehen konnte. > > Tut mir leid, aber ich finde, diese Aussage ist eine in geschwollenes > Deutsch gekleidete Unverschämtheit. Hannes kennt die Dinger wirklich sehr gut. Nur - Was Kokolores noch lernen muss: Niemand, und ich betone wirklich niemand auf diesem Globus, noch nicht mal die Entwickler des RISC Kerns, wissen alles und jedes noch so kleine Detail über die Implementierung, dass sie in 5 Minuten einen derartigen Zusammenhang aus ihrem Gedächtnis hervorkramen. Sepziell dann nicht, wenn in der Fragestellung das Schlüsselwort 'sleep' gar nicht auftaucht. Wenn er erst mal sein erstes 10-Millionen-Codezeilen-Jubiläum hat (das in Bronze :-), wird er das auch gelernt haben.
@Jack: Da Du in diesem Thread noch gar nichts konstruktives zum Besten gegeben hast, solltest Du Dich mal ganz zurückhalten (das gilt auch für andere Threads, in denen Du wilderst und hauptsächlich Leute niedermachst...). Du bist in dieser Hinsicht nicht besser als der OP dieses Threads... @Koko: Hannes und Karl Heinz haben eigentlich schon alles gesagt, was zu sagen ist, so dass ich jetzt nicht noch mal ausführlich erklären muss, was Du hier (und in Deinen anderen Threads) falsch machst... Ich werde jedenfalls in Zukunft nicht mehr versuchen, zu helfen, wenn Du Dir gleich "angemacht" vorkommst und dezent darauf hinweist, dass ich (und andere) ja vermutlich gar keine Ahnung haben...
Jack Braun wrote: >>Ich glaube eher, das Hannes sich wirklich mit den AVRs auskennt, und >>deshalb diese Eigenschaft als mögliche Ursache des geschilderten >>Verhaltens in Betracht ziehen konnte. > > Tut mir leid, aber ich finde, diese Aussage ist eine in geschwollenes > Deutsch gekleidete Unverschämtheit. Das finde ich auch. Und jetzt wieder zurück zur Sache. Ich habe nämlich den vagen Verdacht, dass hier am Thema vorbei diskutiert wird, weil wir zuwenig über das Ziel der Aktion erfahren haben. Soll die ADC-Geschichte gleichzeitig mit der Servoimpulserzeugung (nein, ich nenne es nicht PWM) und der angestrebten Schaltuhr arbeiten? Wie soll der ADC-Wert weiterverwendet werden? Stell doch einfach mal das komplette Projekt vor. Denn jede einzelne Aufgabe lässt sich auf verschiedene Art lösen wenn sie alleine im AVR werkelt. Wenn aber mehrere Programmkomponenten gleichzeitig arbeiten sollen, dann muss jede Komponente auf die anderen Komponenten Rücksicht nehmen. Manche Dinge, wie z.B. das zyklische Auslesen des ADC kann man sehr vorteilhaft ganz nebenbei in anderen (sowiso laufenden) Routinen erledigen. ...
>Hannes kennt die Dinger wirklich sehr gut.
Um Gottes willen, das wollte ich überhaupt nicht bezweifeln.
Ich habe die Unverschämtheit der Aussage auf diejenigen bezogen,
die sich trotz der vollkommen schwammigen Frage damit abgemüht haben,
um dann zum Schluß vorgeworfen zu kriegen, sie hätten keine Ahnung.
>Ich habe nämlich den vagen Verdacht, dass hier am Thema vorbei >diskutiert wird, weil wir zuwenig über das Ziel der Aktion erfahren >haben. Genau das war der Punkt in sämtlichen anderen Threads des TO.
So, ich nehme alle Schuld auf mich und jetzt ist wieder Frieden... ...
Ich finde das Verhalten in diesem und auch anderen Threads interessant, das wäre bestimmt ein gutes Thema für Soziologen. Nehmt Ihr Eure Rolle hier nicht manchmal ein bißchen zu ernst? Das führt dann dazu, - daß sich hier eine Rangordnung entwickelt, die Ihr 'Anfängern' gegenüber als Nebeneffekt auch dadurch verdeutlicht, daß Ihr sie von vornherein auch als Anfänger ohne Ahnung behandelt (Babysprache). - daß Ihr Euch von Fragen persönlich angesprochen fühlt, und Euch veranläßt seht, sich eines Anderen Problems anzunehmen; entspricht die Frage nicht Euren Vorstellungen/Niveau, seid Ihr enttäuscht, und der Fragende trägt an dieser Enttäuschung schuld. Ich bin und werde kein Soziologe, aber solche Beobachtungen, und weitere, lassen sich bestimmt gut untersuchen, und evtl. als Verhalten bestätigen. Ist das nur in Technik-Foren so? Vielleicht ähnelt das dem in Vereinen. Das ist mir zwar eigentlich egal, ich möchte allerdings gerne herausfinden, warum aus einer einfachen Frage so eine Diskussion wird, und weshalb ich so 'falsch' verstanden werde. Bitte erklärt mir deshalb - warum ihr mein Problem lösen / mich erziehen wollt, aber nicht einfach und direkt auf die Frage eingeht, oder einfach nicht drauf eingeht - weshalb ihr annehmt, daß ich mich 'für wissender halte, als ich bin' - warum dieser einfache Satz > Ich glaube eher, das[s] Hannes sich wirklich mit den AVRs auskennt, und > deshalb diese Eigenschaft als mögliche Ursache des geschilderten > Verhaltens in Betracht ziehen konnte. dazu führt, daß sich hier alle angepißt fühlen. P.S.: Zu den Kommentaren von 'Jack Braun' - ich hoffe für Ihn, daß er, vielleicht auch mit ein bisschen mehr Aufmerksamkeit, sich soetwas abgewöhnt, bis er durch die Pubertät ist.
Ich meine, wieso sieht die Antwort nicht einfach so aus: ------------------------------------------- Antworter: >Wie kann es sein, daß mit folgender, einmaliger Einstellung für den ADC: > .. >trotzdem in einer Schleife ständig (scheinbar richtige) Werte aus ADCW >gelesen werden können? - ADCW verändert sich nur durch eine Wandlung. >Ist das etwa nicht der Modus für eine einfache Wandlung? - doch. >Andererseits müßte für den free running mode das doch als Auto Trigger >Source eingestellt werden. - ja. >Oder wandelt der sowieso ständig, und ADSC ist nur zum Synchronisieren >gedacht? - nein. ------------------------------ Koko: > - ADCW verändert sich nur durch eine Wandlung. Der AD hängt an einem Poti, die Werte verändern sich planmäßig. ----------------------------------- Antworter weiß nicht, und schreibt nicht ------------------------------------ Antworter 2: Da war irgendwas mit sleep mode ... ------------ Koko: Danke! Der ADC Noisecanceler startet bei eingeschaltetem ADC eine Wandlung auch im sleep mode.. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx stattdessen kommt: scheißedraufbesserwisser: ey, schon wieder so ne scheiß frage. das ist jetzt echt unter meinem niveau. tschüssikowski. -------------------------------- einfachmalwasschreiber: ey, internet-freunde, der asi hat hier auch was gepostet, hähä, der ist ja so doof -------------------------------- .................
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.