Forum: Mikrocontroller und Digitale Elektronik ADC initialisieren, Grundlagen


von __Son´s B. (bersison)


Angehängte Dateien:

Lesenswert?

Hallo zusammen - und alles Beste in 2016!

Ich beschäftige mich gerade mit ADC-Eingängen.
Aktuell um Vcc-Spannungswerte aus zu werten und via Schwellwerte, 
Ausgänge zu schalten.

Folgend die Grundkonfiguration die abgewandelt aus meinem 
FRANZIS-Leitfaden interpoliert wurde.
Schaut bitte einmal, ob diese Konfiguration plausibel ist.

main() ist noch nicht vollendet.

von Karl M. (Gast)


Lesenswert?

Hallo,

nun dann musst Du noch mal, oder überhaupt einmal, ein C Buch lesen.

Wenn man die Grundlagen nicht kann, wie soll man dann programmieren 
können ?
1
ADMUX = <expr>;

Ein Leitfaden gibt es auch hier im Forum:
https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Analoge_Ein-_und_Ausgabe

von S. Landolt (Gast)


Lesenswert?

Die zweite Zeile mit "ADMUX = ..." ist Murks:
- der Wert aus der ersten Zeile würde überschrieben, stände nicht 
ohnehin 0 drin
- die 4 "=" sind wohl Schreibfehler

von Leopold N. (leopold_n)


Lesenswert?

Hi,

also ich habe mich auch einmal damit befasst, und kann dir aber gleich 
am Anfang mal sagen, dass in den Makros schon ein Fehler steckt.
Das hier kannst du nicht machen:

#define OBER_BEREICH (4*1023/5)
#define MITTEL_BEREICH (OBER_BEREICH - UNTER_BEREICH)
#define UNTER_BEREICH (3*1023/5)

... du kannst nicht Mittel_Bereich definieren, ohne dass du vorher 
Unter_Bereich definiert hast, schließlich definierst du ja 
Mittel_Bereich unter Verwendung von Unter_Bereich.
Es müsste also so lauten:

#define OBER_BEREICH (4*1023/5)
#define UNTER_BEREICH (3*1023/5)
#define MITTEL_BEREICH (OBER_BEREICH - UNTER_BEREICH)

von Leopold N. (leopold_n)


Angehängte Dateien:

Lesenswert?

Außerdem würde ich Dir, um Bits in Registern zu lesen oder zu löschen, 
das hier mal empfehlen:

#include <compat/deprecated.h>

Hier sind die beiden Funktionen sbi(Register, Bit) und cbi(Register, 
Bit) enthalten... ist viel einfacher um Bits zu handhaben.
Ich versteh auch gar nicht, warum sich das alle so schwer machen mit der 
Bitmanipulation...sbi() = set_Bit und cbi() = clear_Bit

In den Anhang habe ich jetzt mal eine Internetseite gestellt, die alles 
rund um ADCs finde ich ganz gut erklärt, also welche Bits man wofür 
setzen muss und so zeugs... Hoffe ich konnte dir helfen

Viele Grüße
Leo

von __Son´s B. (bersison)


Lesenswert?

Leopold N. schrieb:
> Hoffe ich konnte dir helfen
DANKE, erst einmal Allen!
Auch wenn ich noch nicht alles auf Anhieb verstanden habe.

von Target (Gast)


Lesenswert?

Welches Target?

von __Son´s B. (bersison)


Lesenswert?

Target schrieb:
> Target
Ziel habe ich oben beschrieben; Spannungswerte auswerten, Schwellwerte 
mit Ausgangsimpulsen versehen.

von M. K. (sylaina)


Lesenswert?

__Son´s B. schrieb:
> Target schrieb:
>> Target
> Ziel habe ich oben beschrieben; Spannungswerte auswerten, Schwellwerte
> mit Ausgangsimpulsen versehen.

Mit "Target" war der Mikrocontroller gemeint auf dem das Programm laufen 
soll später ;)

von __Son´s B. (bersison)


Lesenswert?

Michael K. schrieb:
> __Son´s B. schrieb:
> Mit "Target" war der Mikrocontroller gemeint auf dem das Programm laufen
> soll später ;)
ATTiny85

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
Noch kein Account? Hier anmelden.