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







Zitieren

Lesezeichen