Archiv verlassen und diese Seite im Standarddesign anzeigen : ADC, wie lese ich ihn aus?
Hi,
Ich brauche mal die Hilfe eines AVR-Nutzers.
Ich versuche einen ADC anzusprechen, wobei ich ein Prog aus dem I-Netz nutze. Eigentlich sollte es einfach sein, aber irgendwo harkt es.
Ich bekomme keinen Wert der ADC-Wandlung auf den LEDS von Port D angezeigt.Immer sind alle an, egal ob ich auf Masse lege oder irgendeine Spannung z.b. 0.5V anlege. Die LEDs sind gegen 5V gelegt. Anbei das Ass-Prog,achja ein ATmega8L ist es.
.include "m8def.inc"
.org 0x0000
	rjmp reset
 
reset:
	ldi r16, low(RAMEND)
	out SPL, r16
	ldi r16, high(RAMEND)
	out SPH, r16
 
	ldi r16, 0xFF
	out DDRD, r16
	ldi r16, 0b00100000
	out ADMUX, r16
	ldi r16, 0b11000101
	out ADCSR, r16
	ldi r16, 0b11110000
	out PORTD, r16          
loop:  
	sbis ADCSRA, ADIF
	rjmp loop
	in r16, ADCH
	out PORTD, r16
	ldi r16, 0b00100000
	out ADMUX, r16
	sbi ADCSRA, ADSC
	rjmp loop 
probiers mal damit ( mal ohne Interrupts ) ... allerdings keine Gewähr das es stimmt....
MfG Kjion
Hey Claus!
Kannste mir den Code mal schicken (email oder hier in deiesem Thread), wenn das ganze funktioniert?
Ich beschäftige mich nämlich auch gerade damit und verstehe da das net ganz!
Wie muss ich denn dann den Code für den AT90S4433 umändern?
Danke!
Hi,
danke fuer die Hilfe.
Es laeuft nun, sowohl single als auch free-run Modus mit Interrupt. Mein Fehler lag in dem nicht angeschlossenen Pin AVref. Nach setzen der Bits fuer AVcc ging alles super.
Anbei 2 demos fuer die beiden Modi.
p.s. alles in einer Datei.
ich gebe die Daten der Wandlung an den Port D (adc0-adc7) und Port B
(adc8-adc9) aus. Messkanal ist 0. Die Leds sind mit 1k gegen 5V gelegt.
 
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.