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:
Ich verstehe ganz und garnicht, warum dem so ist.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
Kann mir das mal jemand erklären?
JimJim
XUN







Zitieren

Lesezeichen