Hallo, habe mal ne gnaz dumme Frage. Der von mir benutzte Atemga8 hat ja 8 ADC Eingänge. Nun brauch ich aber nur 2 ADC Eingänge für meine Messungen, aber die anderen ADC Pins brauch ich ebenfalls als standard Aus- sowie Eingänge( ohne A/D Wandlung). Geht das überhaupt? Oder sind alle ADC Pins "belegt" sobald ich den A/D Wandler einschalte? Habe mir schon die Tutorials hier angeschaut, werde aber nicht schlau draus...
M. H. schrieb: > Habe mir schon die Tutorials hier angeschaut, werde aber nicht schlau > draus... besser ist in das Datenblatt zu schauen. Ja es geht.
Ja, das klappt. Auf den AD-Pins den digitalen Teil deaktivieren:
1 | DIDR0 = (1<<ADC1D) | (1<<ADC0D); |
Die anderen Pins kannst du mittels DDRx Register nach belieben auf aus- bzw. eingang stellen. (siehe hier im wiki) Den AD-Kanal(=PIN) wählst Du dann z.B. mit diesem Macro:
1 | #define adcSelectChannel(channel) (ADMUX = ( ADMUX & (~((1<<MUX3) | (1<<MUX2) | (1<<MUX1) | (1<<MUX0)))) | (channel))
|
Hi >Auf den AD-Pins den digitalen Teil deaktivieren: >DIDR0 = (1<<ADC1D) | (1<<ADC0D); Gibt es beim ATMega8 nicht. Die vom ADC benutzten Pins müssen als Eingang mit abgeschalteten Pull-Up konfiguriert sein. MfG Spess
Äh, ja, sorry. Ich benutze schon lange Atmega168, vergessen das die etwas anders sind.
spess53 schrieb: > Hi > >>Auf den AD-Pins den digitalen Teil deaktivieren: >>DIDR0 = (1<<ADC1D) | (1<<ADC0D); > > Gibt es beim ATMega8 nicht. > > Die vom ADC benutzten Pins müssen als Eingang mit abgeschalteten Pull-Up > konfiguriert sein. > > MfG Spess Aber ansonsten kann ich ich die anderen pins als normale I/O's nutzen...oder?
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.