Hi,
Fehler gefunden! Thema hat sich erledigt.
MAT
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
Hi,
Fehler gefunden! Thema hat sich erledigt.
MAT
Und was war der Fehler??
Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:
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
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[
Lesezeichen