Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Datei byte für byte auslesen...funktioniert nicht.

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
funkeld
gesperrt


Anmeldungsdatum: 10.10.2009
Beiträge: 179

BeitragVerfasst am: 25.01.2011, 18:04    Titel: Datei byte für byte auslesen...funktioniert nicht. Antworten mit Zitat

Zitat:

10 for i=0 to 5
20 print "es geht..."
30 next i
40 end


Ich habe das oben als prog0.bas abgespeichert.
Nun möchte ich diese prog0.bas hiermit einlesen :
Code:


Sub lade_datei
   geladen=0
   If FileExists( "prog0.bas" ) Then
      Open "prog.bas" for Binary as #2
      datlaenge=LOF(2)
      datbuffer= Allocate(datlaenge)
      Get #2 , ,datbuffer[0],  datlaenge
      Close #2
   Else
      Print "nix..."
      Exit sub
   EndIf
   geladen=1
End Sub


und die Daten seriell Byte für Byte senden:
Code:

      lauf=0
      While lauf < datlaenge
         wert=Peek(ubyte,datbuffer+lauf)
         Put #1,,wert,1
         lauf=lauf+1
      Wend   


Irgendwie kommen die Daten falsch an.

Woran liegt das?

Gruss

Serielle Schnittstelle :
Open COM "COM4: 57600, N, 8, 1,CS0,DS0,TB256,RB256" As #1
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
XOR



Anmeldungsdatum: 23.07.2010
Beiträge: 161

BeitragVerfasst am: 25.01.2011, 19:01    Titel: Antworten mit Zitat

Ich kann in den beiden codestuecken keinen fehler erkennen. Vieleicht mal ein bischen mehr code rausruecken.
Der fehler, der mir einfallen wuerde ist, das datbuffer und datlaenge nicht als shared dimensioniert wurden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 25.01.2011, 19:05    Titel: Antworten mit Zitat

Wenn ich "Put #1,,wert,1" durch ein PRINT ersetze, sehe ich in der Konsole zumindest schon einmal, dass die Daten richtig ausgelesen wurden. Ich vermute daher, dass der Fehler beim Senden oder beim Empfangen liegen muss.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
funkeld
gesperrt


Anmeldungsdatum: 10.10.2009
Beiträge: 179

BeitragVerfasst am: 25.01.2011, 23:13    Titel: Antworten mit Zitat

Jup, danke.
Mit "Print #..." sehe ich jetzt auch das alle Daten rüberkommen.

Mal sehen woran es liegt.

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz