Hi zusammen,

also hier mal mein Code:

Code:
'">>>>>>>>>>>>>>>>>>>>>>>SOFTWARE E3V1.6 <<<<<<<<<<<<<<<<<<<<<<<<<<<"

'PB3= IN 1 <-> PB0= OUT 1

'PB4= IN 2 <-> PB1= OUT 2

'PB2= Abfrage Schalter S1

 $regfile = "attiny25.dat"

 $crystal = 1000000

 $eeprom

 Declare Sub Hoch

 Declare Sub Runter





 '---------------------------------------------------------

 Ddrb = &B00000011                                          'Pin Pb0,1 Ausgang, rest Eingang

 Portb.2 = 1                                                'Pullups von PB2 aktiviert                                          'PullUp von Pin PD0+1+rest aktivieren

 '----------------------------------------------------------


 Do


   Debounce Pinb.3 , 0 , Hoch , Sub

   Debounce Pinb.4 , 0 , Runter , Sub

 Loop

 '----------------------------------------------------------

   Sub Hoch



      Portb.0 = 1
      Portb.1 = 0

         If Pinb.2 = 0 Then
            Waitms 100

         Else
            Waitms 75

         End If


      '^^^^^^^^^^^^^^^^--------------------------------------------- Schaltzeit

      Portb.0 = 0
      Portb.1 = 0





End Sub

   Sub Runter


      Portb.1 = 1
      Portb.0 = 0

         If Pinb.2 = 0 Then
            Waitms 100

         Else
            Waitms 75

         End If
      '^^^^^^^^^^^^^^^^--------------------------------------------- Schaltzeit

      Portb.1 = 0
      Portb.0 = 0




End Sub


End
Wie gesagt, wirklich ganz einfach das Programm...

Beide Taster gleichzeitig drücken habe ich noch nciht ausprobiert, allerdings denke ich dass auch hier das Programm erst nur auf den Taster reagiert, der "das Programm wieder normalisiert" und danach dann auch der andere Taster wieder funktionstüchtig ist.

Dummerweise ist es immer so, dass wenn ich will dass es nicht geht, es immer geht... verflixte Technik da.

Was mir noch eingefallen ist, was unter umständen (aber auch sehr unwahrscheinlich) diesen Fehler verursachen kann: Die Controller steuern einen VNH2SP30 Motortreiber an, dieser hat die Eingänge INA und INB, wenn INA=INB wird gebremst, wenn INA logisch ungleich INB dann dreht sich der Motor links oder rechts. Außerdem gibts noch einen ENA und ENB eingang, wenn der Chip ein Problem hat oder der Pin auf 0 gezogen wird, wird eine Halbbrücke abgeschaltet. Bei mir liegen die Pins aufeinander und werden über einen 1K Pullup auf 5v gezogen. Wenn einer abschalten würde, dürfte das ganze gar nicht mehr reagieren und nicht nur in eine Richtung...
Wer Erfahrung mit diesem Chip hat, und es dort evtl. einen Bug gibt... immer her mit den Tips... ich bin hier am verzweifeln...