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)
mfg pebisoftCode:$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
Lesezeichen