Bascom 2.0.8.2 seltsames Verhalten

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Bascom 2.0.8.2 seltsames Verhalten

      Hallo zusammen,
      heute ist mir bei der Vollversion 2.0.8.2 ein seltsames Verhalten aufgefallen. Mein Projekt einer Steuerung für Rolläden, Heizung und Licht beinhaltet einen Webserver, der auf dem Beispiel von Bascom-AVR aufbaut. Es werden HTML-Dateien von der SD-Karte gelesen und über einen WIZ820io im Netzwerk bereitgestellt. Mit Version 2.0.8.1 und älteren lief dieses nun schon seit Jahren stabil. Heute mit Version 2.0.8.2 kompiliert und schon begannen die Probleme. Umlaute werden plötzlich nicht mehr korrekt dargestellt (jedoch nicht auf jeder Seite), Seite wird plötzlich im Browser als Download angeboten. Wieder mit 2.0.8.1 kompiliert und schon waren die Probleme verschwunden. Noch jemand anderes bei TCP-Routinen Auffälligkeiten festgestellt?
      Gruß Joachim
    • Das kann an allem möglichen liegen.
      Dass aber plötzlich falsche Seiten bereitgestellt werden deutet irgendwie auf überschriebene Zeiger.

      Prüfe doch mal in der Version 2.0.8.2 den Inhalt von Codeexplorer auf Fehler.
      Fehler "Error" ist im Tree rot markiert, wenn Fehler vorhanden sind!

      Diesen Fehlern solltest du nachgehen, sofern welche angezeigt werden.
      Ein weiterer Tip ist, die Stackwerte mal zu prüfen.

      Im Codeexplorer unter "Info" werden Stackwerte angezeigt. Diese berücksichtigen jedoch noch keine Interrupts.
      Hier solltest du noch was drauf schlagen. Schau hierzu in die Hilfe bei den Stack-Direktiven.

      Welche Stackwerte hast du denn jetzt eingestellt? Welchen Controller?
    • Pluto25 schrieb:

      Die Sonderzeichen sind Schriftartabhängig, wird eine (im Header) definiert? Möglicherweise hat die neue Version eine andere? - verschiedene bascom-avr.xml für die Versionen?
      Bin gerade dabei das Verhalten weiter einzugrenzen. Die HTML-Datei wird von einer SD-Karte über AVR-DOS gelesen, dies funktioniert in beiden Versionen ohne erkennbare Unterschiede. Der String enthält zeilenweise die HTML-Datei und gibt diese über TCPWRITESTR aus. Quelltext in beiden Versionen gleich, jedoch kommt im Browser bei Version 2.0.8.2 bei manchen HTML-Dateien nicht der komplette Header an !!!!
      Ach ja, die Konfigurations-XML ist für beide Versionen getrennt.

      <!DOCTYPE html>
      <html lang="de">
      <head>
      <meta http-equiv="Content-Language" content="de" />
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <meta name="viewport" content="width=device-width" />
      <title>Webinterface-Steuerung</title>
      … usw.
      </head>

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jogi ()

    • Ursache gefunden!

      Die folgende Schreibweise verursacht ab Bascom 2.0.8.2 den Fehler, obwohl sie in den Samples genau so verwendet wird.
      Sieht nach dem gleichen Problem wie bei der INSTR-Funktion bei Zitronenfalters Thema aus.

      Tempw = Tcpwrite(i , "HTTP/1.0 200 OK{013}{010}")
      Tempw = Tcpwrite(i , "Connection: close{013}{010}")
      Tempw = Tcpwrite(i , "Content-Type: text/html{013}{010}")
      Tempw = Tcpwrite(i , "{013}{010}")

      Die Sonderzeichen innerhalb der Anführungszeichen werden nicht korrekt interpretiert.
      Nach der Umstellung auf TCPWRITESTR war der Fehler behoben.

      hv1_s="HTTP/1.0 200 OK"
      Tempw = Tcpwritestr(i , hv1_s,255)

      Danke an alle, die sich um eine Lösung bemühten.
      Joachim