Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche dringend Hilfe zu Programm
Hallo !
Kann mir jemand sagen was ich bei diesem Programm falsch mache.
wenn ich den wert des AD-Wandlers übers terminal auslese, schreibt dieser immer den Wert 268.
Obwohl ich die Vin Spannung an ADC0 abhänge.
ich verwende CodeVisionAVRund den Atmega128.
BITTE BITTe wer kann mir da weiterhelfen.
Der Code ist unter Attachment beigefügt.
Danke!
Da ich den Code vermutlich eh nicht verstehen würde, habe ich ihn mir nicht angesehen.
Das Problem selbst kommt mir aber bekannt vor. Bei mir lags immer dran, dass ich vergessen ahbe die internen Pullups zu aktivieren, bzw. zu deaktivieren. Könnte das bei dir auch die Ursache sein?
werde das gleich mal checken !
Danke für den hinweis
recycle
Hab da mit den Pullups abgecheckt!
Leider war das nichts, es ändert sich nichts bei AD-Wert.
Ich habe keine Ahnung was ich falsch mache.
Hi, in deiner Routine readadc ()
kommt vor:
return ADCW;
Hol die die Werte sicherheitshalber einzeln in der richtigen Reihenfolge (->Datenblatt)
und gib sie dann erst zurück
Ich merk mir die richtige Folge nie, aber es ist heikel, das ist sicher.
Hallo Robert!
ich bin noch ein Anfänger in diesem bereich, kannst du mir einen Tipp geben wie ich mir die Werte einzel zurückhole.
vielleicht mit ADCL bez ADCH liege ich da richtig.
Danke im Vorraus für alle brauchbare Tipps.
mfg Malik
Ja, genau.
unsigned short wVal;
wVal = ADCL;
wVal += ADCH << 8;
oder
wVal = ADCH << 8;
wVal += ADCL;
return (wVal);
}
adcl oder adch MUSS man zuerst lesen (nachschauen)
Das seltsame ist ja wenn ich die Spannung am ADC0 (kannal 0) abhänge bleit der Wert trotdem bestehen.
Kann es sein das es gar nicht der AD-WERT ist?
oder ist der AD-wandler def.?
Es ist mir noch was aufgefallen wenn ich die codezeile "CO Wert ausgeben" ,oder auch sonst eine Zeile deaktiviere ändert sich der Wert
z.b. von 268 auf 261, aufjedem Fall wird der Wert weniger.
was kann das sein?
Hat vielleicht jemand ein Beispielcode für den AD mit der ausgabe des Wertes auf Uart. Es gibt etliche beispiele im internet mit div. Makefiles, nur wie gesagt ich verwende CodeVisionAVR und ich kenn mich leider nicht so gut aus mit makefiles.
wäre echt toll wenn jemand ein Code für Atmega128 hätte.
Habe bald Matura und die Zeit läuft mir davon.
mfg malik
Hallo,
habe den fehler selbst gefunden, es lag am C-code selber.
hatte vergessen von welche kanal er den wert lesen soll.
value=read_adc(0).....habe die Null total vergessen.
Aber Danke an alle
MFG
malius
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.