-         

Ergebnis 1 bis 5 von 5

Thema: Getrc5 problem nach rc5send

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2005
    Beiträge
    14

    Getrc5 problem nach rc5send

    Anzeige

    Hallo

    ich will folgendes erreichen:
    der controller soll ständig kontrollieren ob er rc5 empfangen hat und auf tastendruck der auf int1 geht soll er rc5 senden. funktioniert auch fast alles ausser, dass er nach dem interrupt leider nicht mehr richtig empfängt. das lcd zeigt dann immer 32" an.
    für hilfen wäre ich sehr dankbar

    Code:
    $regfile = "attiny2313.dat"
    
    $crystal = 1000000
    
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Portd.1 , Rs = Portd.0
    Config Lcdbus = 4
    
    'init interrupts und deklaration der var
    Enable Interrupts
    Enable Int1
    Config Int1 = Falling
    Disable Int0
    Cls
    Config Rc5 = Portd.2
    Config Portb.3 = Output
    Config Pind.4 = Input
    Portb.4 = 1
    Dim T As Byte , A As Byte , C As Byte , Reload As Long , Asend As Byte , Csend As Byte
    Asend = 10
    Csend = 10
    T = 0
    Set Portb.3
    
    On Int1 Send Nosave
    
    
    Do
    
      Getrc5(a , C)
       If C <> 255 Then
    
       Lcd C
       Lcd " "
    
    
       End If
    
    Loop
    
    Send:
    
    Rc5send T , Asend , Csend
    Return

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.03.2004
    Beiträge
    185
    Du schreibst:
    Code:
    On Int1 Send Nosave
    ohne die Register in der ISR zu sichern.
    dass er nach dem interrupt leider nicht mehr richtig empfängt. das lcd zeigt dann immer 32" an
    Die ISR überschreibt Deine Variablen.

    Nehme Nosave raus und erhöhe
    $hwstack = 64 (davon 32 für eine ISR)

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2005
    Beiträge
    14
    habe ich gemacht. bringt aber keine verbesserung. ich habe jetzt heraus bekommen, dass das problem nicht bei getrc5 sondern beim lcd liegt. der empfang stimmt aber wird leider nicht richtig angezeigt. kann es sein, dass lcd und rc5send irgendwas gemeinsam verwenden(timer....). aus der hilfe werde ich leider nicht schlau.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.03.2004
    Beiträge
    185
    Ich kenne Deine Schaltung nicht (AT90S2313 ?)

    Zitat Zitat von P_II
    kann es sein, dass lcd und rc5send irgendwas gemeinsam verwenden
    Klar
    Du schreibst:
    Code:
    Config Lcdpin Db5 = Portb.3
    das ist jedoch gleichzeitig Dein Ausgabeport von RC5Send beim AT90S2313 (portB.3 =OC1A)

    Wenn Du unsicher bist, kürze den Code und werfe den Interrupt raus.
    Bringe die Bascom-Samples zum laufen.
    Immer einen Schritt nach den anderen.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2005
    Beiträge
    14
    Upps das kommt davon wenn man per drag and drop programmiert.

    danke. werde es gleich mal richtig probieren.

Berechtigungen

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