Hi! Ich habe meinen Atmega 8 gegen einen 168 ausgetauscht. Nun habe ich ein Problem mit dem ADC0 Wert. Am Code habe ich nix verändert. Vor diesem Eingang habe ich einen Spannungsteiler und wenn der µC im Sockelist, zieht er das Signal von z.b 2 Volt auf 0,xx Volt runter (2 Counts). ADC1 und 2 funktionieren und geben die gleichen Werte aus wie als wenn der Mega8 im Sockel sitzt. Habt ihr eine Idee? gruss Axel
Vielleicht findest Du hier, was Du suchst: http://www.atmel.com/dyn/resources/prod_documents/doc2553.pdf Durch das Verlegen einiger Register aus dem I/O-Bereich in das SRAM wird Code, der für den Mega8 geschrieben wurde, an verschiedenen Stellen nicht funktionieren, ganz von der veränderten Interruptvektorentabelle einmal abgesehen. Außerdem werden Interruptserviceroutinen im Mega8 mit 'rjmp', im Mega168 mit 'jmp' angesprungen.
Hi ATMega8 und ATMega168 sind nicht kompatibel. sieh dir mal die Appnotes von Atmel an: AVR094: Replacing ATmega8 by ATmega88 AVR095: Migrating between ATmega48, ATmega88 and ATmega168 MfG Spess
Besonders wenn es um ADCs geht, die geänderte interne Bandgap-Spannung beachten.
Danke für Eure Antworten! Ich habs) Als erstes habe ich mir den Code nochmal angeschaut (Bascom) und die Bits im ADMUX und ADCSRA Register per Hand eingegeben statt der "Bascom Config ADC" Methode. Das hat, wie fast zu erwarten war, nichts gebracht. Interessanterweise waren es tatsächlich 1022 Counts, als ich die Betriebsspannung direkt ohne Widerstand dazwischen an den PIN C 0 gelegt habe... Dann habe ich einfach mal einen anderen 168er genommen und nun sind es tatsächlich die 416Counts bei 12,17 Volt über 75k - 15k - GND Spannngsteiler. Hoffentlich sind die Anderen inordnung :S
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.