habe es jetzt einfach mit einer schleife versucht zu lösen.
kann man das so machen? geht das so einfach die werte danach ins sram zu speichern?
Code:
; Start, Power ON, Reset
main: ldi r16, lo8(RAMEND)
out SPL, r16
ldi r16, hi8(RAMEND)
out SPH, r16
;Initialisierung ADC
ldi r17, 0b10000... ;ADC enable, vorteiler
out ADCSRA, r17
;---------------------------------------------------------------------------
mainloop: wdr
rjmp loop
rjmp mainloop
;---------------------------------------------------------------------------
;.equ wert1L, 0x0060
;.equ wert1H, 0x0061
;.equ wert2L, 0x0063
;.equ wert2H, 0x0064
;ersten eingang umwandeln und sichern
loop: ldi r16, 0 ;auswahl chanel 0
out ADMUX, r16
sbi ADCSRA, ADSC ;wandlung starten
warte1: sbis ADCSRA, ADIF ;abfrage ob umwandlung schon beendet ist ADIF=1
rjmp warte1
in r18, ADCL ;die unteren 8bits in r18 speichern
in r19, ADCH ;die oberen 2bits in r19 speichern
sts wert1L, r18 ;wert in sram schreiben
sts wert1H, r19
;zweiten eingang umwandeln und sichern
ldi r16, 1 ;auswahl chanel 1
out ADMUX, r16
sbi ADCSRA, ADSC ;wandlung starten
warte2: sbis ADCSRA, ADIF ;abfrage ob umwandlung schon beendet ist ADIF=1
in r20, ADCL ;die unteren 8bits in r20 speichern
in r21, ADCH ;die oberen 2bits in r21 speichern
sts wert2L, r20 ;wert in sram schreiben
sts wert2H, r21
ret
gruß jens
Lesezeichen