-
        

Ergebnis 1 bis 2 von 2

Thema: Bit lesen, Bit ausgeben

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.01.2007
    Ort
    Deutschland [Bayern]
    Alter
    35
    Beiträge
    125

    Bit lesen, Bit ausgeben

    Anzeige

    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

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.01.2007
    Ort
    Deutschland [Bayern]
    Alter
    35
    Beiträge
    125
    Problemhat sich erledigt .. scheinbar lag es am 2333 ... Ich habe jezt eine Version für den ATTiny2313 geschrieben, (def. geändert, und Port-C auf Port-B), und dort funktioniert es.

    Ich kann mir das zwar nicht erklären, aber ich kann wenigstens weiter arbeiten.

    Dennoch würde ich mich über eine erklärung zu der Problematik freuen.


    JimJim
    XUN

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •