ADC Atmega 32

Gast #1959864
Lesenswert?

Hi liebe mikrocontroller.net community

Ich versuche eine ADC in mein Programm einzubauen.

Leider bekomme ich als Ergebnis nur den Wert 255.
Dieser Wert wird von mir aus dem Register ADCH ausgelesen.

Ich verwende eine externe 5 V Referenzspannung!
Als zu wandelnde Spannung, wird für den Testbetrieb, 1V verwendet. Diese 
wird von einem Netzgerät zur Verfügung gestellt.

Eine weitere Frage von mir wäre was es mit dem Register ADCW auf sich 
hat. Dieses wird im Tutorial von mikrcontroller.net verwendet. 
Allerdings habe ich es im Datenblatt nicht gefunden.
Bei dem Versuch ADCW auszulesen, habe ich den Wert 192 bekommen. Dieser 
ändert sich auch bei mehrmaligen auslesen nicht!

Zusatzinformation:
Ich habe das Programm der ADC hochgeladen. Vl. sieht jemand einen 
Fehler!
Es wird das RN-Control Board verwendet (Falls das Auswirkungen hat)


Danke für die Hilfe

Christoph
Angehängte Dateien:
Persönliche Seite #1959877
Lesenswert?

ADCW ist bei manchen AVRs mit aufeinanderfolgenden ADCH und ADCL 
Adressen ein 16-Bit Register aus den beiden 8-Bit Registern ADCH und 
ADCL.

Ein Beispiel für einen solchen AVR ist der Atmega16. Die Definition von 
ADCW befindet sich, wenn vorhanden, in einem Includefile für diesen µC 
(über #include <avr/io.h> bekannt gemacht).

Mit ADC.c (1.3 KB) kann ich nix anfangen. Das ist IMHO kein gültiges 
C-Programm.
Gast #1959883
Lesenswert?

Es ist natürlich das gesamte Programm!
Das gesamte Programm ist wesentlich länger und ich denke kaum das jemand 
Interesse hat sich da durch zu ackern.

Daher hab ich den Bereich mit der ADC und Init herauskopiert.
Im restlichen Programmverlauf kommt keine weitere ADC vor....
#1959891
Lesenswert?

2 Dinge

* Kannst du aus deinen Fragmenten ein komplettes, möglichst einfaches 
Testprogramm zusammenstellen?

* Warum benutzt du nicht die Tutorialsfunktionen als erste Grundlage für 
deine Routinen? Zuerst einfach unverändert übernehmen, zum laufen 
bringen und erst dann abändern.
Gast #1959957
Lesenswert?

Christoph schrieb:
> @Peter
> Wie meinst du Zahlen (mehrzahl?)
ja, ok ich meine Zahl

> Befindet sich im ADCH nicht nur eine Zahl?
> Ansonsten ist es mir egal ob binär oder Dezimal.
richgig, im ADCH ist eine Zahl und send_chr erwartet ein zeichen(eine 
ziffer der Zahl).
Wenn im ADCH ein 7 steht dann bekommt du von deinem Terminalprogramm ein 
BEEP aber keine 7.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren