- fchao-Sinus-Wechselrichter AliExpress         
Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 45

Thema: rfm12 ausgabestring verarbeiten

  1. #21
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.03.2004
    Beiträge
    185
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Wigbert,

    ich wollte Dir schon immer mal die Frage stellen, warum Du im Originalcode
    http://home.arcor.de/dirk.milewski/R...Tranceiver.bas
    schreibst:
    Code:
    Sub Empfangen
      Print "Empfange"
      Call Rf12_rxdata(maxchar)
      For Count = 1 To Maxchar
        Print Chr(rfdata(count)) ; "-";
      Next Count
      Print
      Goto Zuruck
    End Sub
    beim Aufruf der Sub wird ein Call ausgeführt, der 2 Byte auf den STACK pusht. Da "Goto Zuruck" das RET umgeht, wird der Stackpointer nicht um 2 Byte wieder heruntergezählt
    -> das führt unweigerlich zum Stacküberlauf!
    Du hast den Fehler noch nicht bemerkt, da Du keine Variablen mit Dir herumschleppst...

  2. #22
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2006
    Beiträge
    118
    Na ja,
    etwas habe ich schon bemerkt, hatte einfach den Stack hochgesetzt.
    Ich dachte bei Gosub müsse return.

    Und wie lösche ich nun den Stack in meinen Bespiel ?

    Wigbert

  3. #23
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.03.2004
    Beiträge
    185
    nicht den Stack manipulieren und es verschlimmbessern, sondern einfach die Struktur aufräumen.

    Programmierregel Nummer Eins: "Verwende niemals nie GOTO!"

    Anbei ungetesteter Code:
    Code:
    Do
       S = ""
       WHILE Len(s) < 3
           Empfangen
       WEND
       Senden
       Text = S
    Loop
    
    
    Sub Empfangen
      Print "Empfange"
      Call Rf12_rxdata(maxchar)
      For Count = 1 To Maxchar
        Print Chr(rfdata(count)) ; "-";
      Next Count
      Print
    End Sub

  4. #24
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2006
    Beiträge
    118
    Na ja das springen aus der Sub war mir sowieso nicht geheuer.
    Mit einen Flag wäre das auch gegangen.

    Dank Dir für die Hinweise.

    Wigbert

  5. #25
    Benutzer Stammmitglied
    Registriert seit
    06.01.2007
    Beiträge
    52
    Abend
    also bin wieder aus Paris zurück,
    ist so das ich mit bei dem Bauteil vertippt hab. Benutze 5 V Spannungsversorgung.meint ihr also das liegt an dem Stack?
    Aber müsste das nicht zumindest ne kleine weile laufen?

    Bastian

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2006
    Beiträge
    118
    eine Weile lief das Programm bei mir auch,
    wenn der Stack voll wäre, muss das Programm nach Reset
    wieder laufen

    Wigbert

  7. #27
    Benutzer Stammmitglied
    Registriert seit
    06.01.2007
    Beiträge
    52
    Also geh ich jetzt einfach mal davon aus das das board einen Fehler hat. Den atmega hab ich auch schon ausgetauscht daran liegts nicht. Wenn ich das modul enkoppel (Über die dip schalter) dann liegt auf dem Miso pin (Der ja in verbindung mit der Rf12_readys steht) 0V an wenn ich das modul wieder verbinde liegt auf dem pin +5V kann es sein das das Modul kaputt ist?
    gruß

  8. #28
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2006
    Beiträge
    118
    ein Versuch hab ich noch

    Leg mal zusätzlich
    10 K Widerstand von SS an + 5V
    (warum? war irgendwo mal im Forum beschrieben)

    Wigbert

  9. #29
    Benutzer Stammmitglied
    Registriert seit
    06.01.2007
    Beiträge
    52
    Ne leider auch kein erfolg. Muss ich wohl mal ein neues Board machen. Oder meinste das das Modul irgendwie seinen Geist aufgegeben hat. Wobei kann auch schlecht sein weil es ja noch sendet.
    Irgendwo muss der fehler ja bei dem Miso pin liegen..
    Und auch seltsam das es ein paar mal geklappt hat.

    Bastian

  10. #30
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2006
    Beiträge
    118
    na ja , ein versuch war es wert,

    Ic raus und Leiterbahn auf Durchgang prüfen, nachlöten
    Brück mal den Jumper.

    Ich löte deshalb den rfm 12 mit stiftleisten auf. rfm 12 tauschen

    Wigbert

Seite 3 von 5 ErsteErste 12345 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test