wie kann man in der interruptroutine 2 adcwerte abfragen und in eine variable speichern. zur zeit frage ich "mux0" ab,ist der 2. adcpin.
und wie kann man zb pin8 abfragen da muss ja irgendwie mux0 und ein anderer mux.... als "or" hintereinander gesetzt werden.
so sieht es zb bei winabr-c aus: ADCchannel_8 ADMUX= _BV(MUX2) | _BV(MUX1) | _BV(MUX0)
Code:
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 19200

Dim Adhi As Byte
Dim Adlow As Byte
Dim Adcergebnis As Word
Dim Radzaehler As Byte
Dim Toggle_rad As Byte

Disable Interrupts
Adcsra.aden = 1
Adcsra.adate = 1
Adcsra.adie = 1
Adcsra.adsc = 1
Adcsra.adps0 = 1
Adcsra.adps1 = 1
Adcsra.adps2 = 1
Admux.refs0 = 1
Enable Interrupts

Radzaehler = 0
Toggle_rad = 0

On Adc Onadc

Do

Waitms 1
Print Radzaehler

Loop

Onadc:
   Admux.mux0 = 1
   Adcsra.adsc = 1
   Adlow = Adcl
   Adhi = Adch
   Adcergebnis = Adhi * 256
   Adcergebnis = Adcergebnis + Adlow
   If Adcergebnis > 400 And Toggle_rad = 1 Then
      Incr Radzaehler
      Toggle_rad = 0
   End If
   If Adcergebnis < 100 And Toggle_rad = 0 Then
      Incr Radzaehler
      Toggle_rad = 1
   End If
Return

End
mfg pebisoft