Hallo Neuling kommt nicht weiter. Ich möchte am Eingang des ersten AD Wandler wandeln und auf Port B übertragen. Zum Test habe ich nur die unteren Bits zur Übertragung hergenommen. Leider funktioniert mein Programm nicht. Hier das Programm ;****************************************************** .include "8535def.inc" rjmp INIT ;INIT Handle ;****************************************************** INIT: .def temp =r16 cbi ADMUX, MUX0 ;Kanal cbi ADMUX, MUX1 cbi ADMUX, MUX2 sbi ADCSR, ADEN ;AD enable ser temp out DDRB,temp ;Set direction out sbi ADCSR, ADSC ;Start AD ldi r16, 0x08 loop: sbic ADCSR, ADSC ;Weiter, wenn adsc is clear rjmp loop ldi r16, ADCL out PORTB, r16 rjmp INIT
Hallo Er bringt mir keinerlei Veränderung auf dem Port B. Ich vermute ich habe ihrgendwas vergessen auf "Aktiv" zu schalten. Den Interrupt nehme ich laut meiner Version nicht her. Ich warte so lange, bis er mit der Messung fertig ist. Gruß
Du mußt die interen Referenzspannung einschalten. Bit7 und Bit6 in ADMUX auf 1. Gruß Gerhard
Hallo danke für die Antwort Ich habe im Datenblatt nachgeschaut. Da sind die Bits 6 und 7 als reserviert und ohne Funktion gekennzeichnet. Sicher das das in ADMUX steht. Ich habe allerdings nirgens was über die interne Referenzapannung gelesen. Gruß
Hi ich glaub du hast vergessen den Modus des ADC zu wählen.Interrupt gesteuert oder "Free Running" Mode ich dein Programm mal um diese Zeile ergänzt( die mit den Ausrufezeichen, aber bitte weglassen) Ich hoffen das war der Fehler mfG Toto
Hallo Er mach leider immer noch nichts. Der AVR selber läuft aber mit dem "Led" Programm tadellos Gruß
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.