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.
Gast
#4410629
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 | |
Ein Leitfaden gibt es auch hier im Forum: https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Analoge_Ein-_und_Ausgabe
Gast
#4410640
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.
Gast
#4410755
Welches Target?
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.