hallo hatte damals mal ein program geschrieben für den radencoder.
wollte die langsame getadc von Bascom nicht nutzen. vielleicht kannst du ihn weiterverwenden. wenn du onadc nutzen tust, nimm am besten auch die direkten avr-ansprechregister.
mfg pebisoft
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 !! ist adcport pina1 , ohne mux ist pina0 Adcsra.adsc = 1 !! startet das auslesen 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







Zitieren

Lesezeichen