-
-
Erfahrener Benutzer
Fleißiges Mitglied
Da fehlt was:
CP vergleichlow,yl ; Vergleiche untere Bytes
CPC vergleichhigh,yh ;Vergleiche obere Bytes
besser so:
CP vergleichlow,yl ; Vergleiche untere Bytes
Verzweigungsbefehl....
CPC vergleichhigh,yh ;Vergleiche obere Bytes
Verzweigungsbefehl....
kleiner Tipp:
ldi vergleichlow,162
ldi vergleichhigh,0b00000001
besser wäre:
ldi vergleichlow,low(WERT)
ldi vergleichhigh,high(WERT)
Denn ein anderer muss ewig rechnen.
----------
Der ADC-Wert wird nicht korrekt eingelesen.
Schau mal, ob Du hier ein paar Anregungen abgucken kannst 
in temp, ADMUX
andi temp, 0b11100000
subi temp, -2 ; KANAL 2
out ADMUX, temp
; neuen ADC-Wert lesen Wert verwerfen, da meist vom vorherigem ADC-Kanal
sbi ADCSRA, ADIF ; logisch "1" löscht ADIF flag !
MESSEN_ww:
sbis ADCSRA, ADIF ; warten bis ADIF flag gesetzt
rjmp MESSEN_ww
; neuen ADC-Wert lesen
sbi ADCSRA, ADIF ; logisch "1" löscht ADIF flag !
MESSEN_www:
sbis ADCSR, ADIF ; warten bis ADIF flag gesetzt
rjmp MESSEN_www
; ADC einlesen:
in temp1, ADCL ; immer zuerst low byte lesen
in temp2, ADCH ; danach das mittlerweile gesperrte high byte
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen