Hallo nachdem ich jetzt etwa schon 3 Tage mit Fehlersuchen (Datenblat einbezogen und AVR_GCC Tutorial) verbracht habe, und den AD-Wandler doch noch nicht läuft hoffe ich auf eure Hilfe: zuerst zur Hardware: Ich habe ein ganz normales Poti am ADC3(PB3) welches ich auswerten möchte. Der verwendetet MCU ist ein ATtiny45. Jetzt zum Problem: ich habe zum testen eine Led, die mir ab einem gewissen Pegel nicht mehr leuchten sollte, aber dies tut sie immer, egal ob der AD-Wandler an 0 oder 5V liegt. Den Interrupt führ der Wandler aus, das habe ich auch mit der Led getestet, aber irgend etwas läuft wahrscheindlich bei der Auswertung und auslesen der ADCL und ADCH Register schief. im Anhang ist noch der Code MFG P51D ich hoffe wirklich, dass mir jemand helfen kann, denn ich bin am verzweifeln
@ Patrick B. (p51d) >im Anhang ist noch der Code Den AD-Wert kann man direkt als 16 Bit Zahl auslesen, mit ADCW. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#ADC_.28Analog_Digital_Converter.29 MfG Falk
Wenn du für die verschiedenen Bitwerte mal die entsprechenden Namen benutzt (mit _BV()), dann kann man das besser lesen, und eventuell findest du auf diese Weise auch gleich deinen Fehler.
Dein BitClr Macro wird wohl nicht funktionieren. Anstelle von
1 | BitClr(Register, Bit) Register = (Register & (0X01 << Bit)) |
sollte da
1 | BitClr(Register, Bit) Register = (Register & ~(0X01 << Bit)) |
stehen. Ob diese Korrektur aber dein Problem behebt kann ich nicht sagen...
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.