- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 5 von 5

Thema: Atmega8 mit rfm12 nur halbe Funktion Hilfe!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381

    Atmega8 mit rfm12 nur halbe Funktion Hilfe!

    Hallo Leute,

    ich zerbreche mir meinen Kopf schon den ganzen Tag und find einfach den Fehler im Programm nicht!
    Nutze das Programmteil zum Senden/Empfangen über ein RFM12 erfolgreich in anderen Applikationen (M32/12. Jetzt habe ich dies auf einen M8 übertragen. Alle Funktionen aus dem Programm laufen aber der Teil für das Senden/Empfangen laufen nicht. Der Empfang läuft teilweise aber nicht richtig. Es wird das erste empfangene Byte richtig erkannt, der Rest stimmt nicht mehr. Dann empfängt er nur sporadisch mit falschen Werten.
    Schaut mal bitte darüber, weiß selber nicht mehr weiter...
    Vielleicht liegt es an der SPI Funktion???
    Hardware kann ich ausschließen weil ich 2 Boards habe, bei denen es nicht funktioniert.

    Danke & Gruß MAT
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    Hi,

    Fehler gefunden! Thema hat sich erledigt.
    MAT

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    33
    Beiträge
    802
    Und was war der Fehler??
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    Nun, ich hatte für die Empfangsroutine festgelegte Größe für den Empfangspuffer (Recive_buffer_size) zu klein eingestellt. In der unteren Sub habe ich dann noch Änderungen vorgenommen.
    Sollte jetzt irgend woher ein Signal zur Auslösung der Empfangsroutine kommen, wird der gesammte Frame empfangen und nicht weiter ausgewertet.


    Code:
    '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ INT1 ISR(Daten vom RFM12)
    'Interrupt Routine zum empfangen der bytes aus dem RFM 12
    Ffit_isr:
    'Stop Timer1
    Spiin Fifo(1) , 2                                                                                                                                     '1 Byte lesen
    Temp = Fifo(2)
     If Temp = Snap_sync And Rf_sync = 0 Then
        Rf_sync = 1
        Lv = 1
        Framelength = 4
     End If
     Rf12_data(lv) = Temp
     If Lv = 3 Then Framelength = Temp
     If Lv >= Framelength And Rf_sync = 1 Then                                                                                                            'alles eingetroffen
        Rf_rxd = 1                                                                                                                                        'Flag setzen und Empfänger zurück setzen
        Rf_sync = 0
    End If
    Incr Lv
       ' Überlauf abgefangen , passend zum Empfangsbuffer
       If Lv >= Recive_buffer_size Then
              Rf_sync = 0
               Lv = 1
               Call Rf_cmd(&H0000)                                                                                                                        'read status
               Call Rf_cmd(&Hca81)                                                                                                                        'Reset FIFO       wir warten wieder auf SYNC vom RFM 12
               Call Rf_cmd(&Hca83)                                                                                                                        'enable FIFO
        End If
    Return
    End

  5. #5
    Erfahrener Benutzer Begeisterter Techniker Avatar von Ripper121
    Registriert seit
    27.10.2009
    Beiträge
    206
    Wie ist deine Beschaltung vom RFM12 an den Atmega8 und Atmega32?
    Hast du Fusebits und Quartz verändert?
    Könntest du bitte deine Codes für den Atmega32 und Atmega8 Posten?
    Läuft das auch auf dem Pollin-Funk-Board?

    mfg Ripp3r]D3[

Berechtigungen

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

Labornetzteil AliExpress