Hallöle.

Ich habe ein Problem beimlesen und ausgeben von Bits an einem Port.

Und zwar habe ich folgendes Vor:
Ich möchte 4 Signallquellen auswerten, die an Port C an einem AT90S2333 anliegen. Dies sind PWM signale.

Nachdem ich den Wert erfast habe, möchte ich diese (nach einer späteren bearbeitung) wieder auf einem anderen Port ausgeben.

Das Problem, das ich jezt habe ist, das ich an allen Ausgangs-Pins, die ich verwenden möchte, das gleiche signal anliegen habe.
Konfuser wirds dadurch noch, das es auch egal ist, wo ich das Signal rein schicke. Es kommt von jedem eingang aus auf allen ausgängen an.

Dann fällt mir noch auf, das ich unterschiedliche ausgaben habe. auf dem lezten ausgang (pin 3) kommt es ganricht an, bzw. nur dann wenn ich das fast volle PWM signal sende
an Pin 2 kommt es pulsend an .. ca. alle 2 PWM-Intervalle, an pin 1 ist es fast genauso wie an Pin 0.

Umgesezt hab ich das so:
Code:
$regfile = "2333def.dat"
$crystal = 11059200


Config Portd = Output
Config Portc = Input


Dim X As Byte
Dim Signal_hl As Byte


Do
   For X = 1 To 4 Step 1
      Signal_hl = 0
      Select Case X
         Case 1 : If Pinc.0 = 1 Then Signal_hl = 1
         Case 2 : If Pinc.1 = 1 Then Signal_hl = 1
         Case 3 : If Pinc.2 = 1 Then Signal_hl = 1
         Case 4 : If Pinc.3 = 1 Then Signal_hl = 1
      End Select
      If Signal_hl = 1 Then
         Select Case X
            Case 1 : Set Portd.0
            Case 2 : Set Portd.1
            Case 3 : Set Portd.2
            Case 4 : Set Portd.3
         End Select
      Else
         Select Case X
            Case 1 : Reset Portd.0
            Case 2 : Reset Portd.1
            Case 3 : Reset Portd.2
            Case 4 : Reset Portd.3
         End Select
      End If
   Next
Loop
End
Ich verstehe ganz und garnicht, warum dem so ist.

Kann mir das mal jemand erklären?


JimJim
XUN