hallo liebe MK (Mikrokontroller ) freunde, habe einen atmel mega 32, bzw das damit bestueckte roboternetz board RNControl 1.4. habe folgendes problem habe eine Lichtschranke, und eine Inkrementalscheibe an meinem fahrzeug
bekomme ein 1 oder 0 signal wenn ich die scheibe drehe, bzw ein pegel von 4,7 und 0,3 V, das problem ist, das wenn ich es mit dem messgerät messe funktioniert es, wenn ich es mit den alalogeingängen messe geht es auch, aber mit keinem der digitalen wiederstände.
falls genauere infos zur lichtschranke erwünscht bitte melden poste sie dann.
also bisher klingt es nicht problematisch, denke das es ein programmier bzw initialisierungsfehler des digitalports ist, aber ka ^^
poste einach mal meinen quellcode, sry leider schlecht kommentiert, das projekt muss am fr fertig werde und mir rennt die zeit davon.
also zum projekt es soll eine sensorauswertung von temperatur strömmen und drehzahl an einem solarangetriebenen fahrzeug sein. strom und temp. gehen schon wunderbar.
und das printen der der Sensoren1 - 6 dienen nur als schlüsselwörter für meine graphische oberfläche am pc
so nun der quellcode
achso ja ist in basic von Bascom geschrieben , naja programmieren ist nicht so mein fall ^^ und die graphische oberfläche ist von abacom profilab compiliert worden aber selbst erstellt freu.
Code:


$crystal = 16000000                                         'Quarzfrequenz
$baud = 9600                                                'Baudrate
Config Adc = Single , Prescaler = Auto

Const Ref = 5 / 1023





   Config Porta = Input
   For I = 0 To 5                                           ' Alle internen Pullup 'Widerständ ein,bis auf Batteriespannungsmessungsport
      Porta.i = 1
   Next I



   For I = 0 To 5
      Start Adc
      Ws = Getadc(i)
      Volt = Ws * Ref
      Print Volt
      Print "sensor" ; I
      Waitms 5

   Next I


  Config Portd = Input
  Portd.2 = 1



 For Z = 0 To 1000
 'If Portd.2 = 1 Then
 'Drehzaehlsec = 1
 'Else
 'Drehzaehlsec = 0
 'End If
 'Wait 1
 If Portd.2 = 0 Then
 Drehflanke = 0
 End If

 If Drehflanke = 0 And Portd.2 = 1 Then
 Drehzaehlsec = Drehzaehlsec + 1
 Drehflanke = 1
 End If
  


 Waitms 1

 Next Z


Print Drehzaehlsec
Print "sensor6"
Drehzaehlsec = 0
waere euch zutiefst verbunden wenn mir einer den fehler zeigen könnte
der fehler liegt definitiv unter den sensor 5 sprich unter der 2. for schleife

mfg ein verzweifelter MKler