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.
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
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
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)
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
Leopold N. schrieb: > Hoffe ich konnte dir helfen DANKE, erst einmal Allen! Auch wenn ich noch nicht alles auf Anhieb verstanden habe.
Target schrieb: > Target Ziel habe ich oben beschrieben; Spannungswerte auswerten, Schwellwerte mit Ausgangsimpulsen versehen.
__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 ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.