Sieht man nicht so gut in der Gif
Kann es sein, das in dem String &H00 enthalten sind ?
dann wird Bascom das als Endekennzeichen nehmen und auf den Rest pfeifen
Haollo Foren Mitglieder
Ich bin neu hier und schon seit Wochen am suchen nach einer Lösung für mein Problem, kann einer von euch mir vieleicht dabei helfen?
Ich versuche einen String über die Com 1 zu Empfangen und diesen dann ins Eprom abzuspeichern. Dieser Wert soll dann irgend wann wieder ausgelesen werden und etwas schalten (Portd.1=1) oder so.
Also der String wird richtig im Sram abgespeichert, aber so bald er im Eeprom
geschoben wird fehlt die Hälfte.
Siehe Anhang (Bild vom Bascom Simulator)
Ich hoffe ich habe es so beschrieben damit Ihr was damit Anfangen könnt.
Danke für eure Hilfe und einen Guten Rutsch in neue Jahr.
Sieht man nicht so gut in der Gif
Kann es sein, das in dem String &H00 enthalten sind ?
dann wird Bascom das als Endekennzeichen nehmen und auf den Rest pfeifen
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hi PicNick
Ein Frohes neues Jahr und danke für deine Antwort.
Wenn Du die Gif Datei mit einem Browser öffnest dann einfach nochmal ins Bild klicken dann wirds größer.
Ja Du hast recht es sind sogar 4 mal &H00 enthalten. Kann man das irgendwie abschalten ich brauche den String komplett. Gibt es die möglichkeit diesen String *14 irgenwie anders zu speicheren als einzelene Bytes die man dann wieder zusammen setzt so das man sie Speichern kann.
Ein Beispielcode wäre da sehr hilfreich.
(edit)
Ich habe mir schon öfter deinen Beitrag im Wicki
https://www.roboternetz.de/wissen/in...ings_und_Bytes
angeschaut doch ich werde sowas wie "String*14 > einzelne Byte's " brauchen.Denn nach dieser meine Hürde muß ich dann noch mehr mit diesem Input machen.
Gruß Gerd
Hallo Gerd,
du kannst ja mittels Overlay ein Bytearray definieren was über dem String liegt. Somit kannst du mit einer Schleife die einzelnen Bytes ins Eeprom schieben:
Code:Dim Teststring As String * 14 Dim Testarray(15) As Byte At Teststring Overlay
Gruß, Stefan
Hallo StevieL
Vielen Danke für dein Antwort (an so einem Tag )
An sowas hatte ich auch schon mal gedacht aber mit disem Code bekomme ich gar keinen Empang:
Code Anfang:
Code ende'Code:$sim $regfile = "m32def.dat" $crystal = 8000000 $baud = 9600 $framesize = 32 ' die Größe des Frames $swstack = 32 ' die Größe des Software-stacks $hwstack = 32 ' die Größe des Hardware-Stacks 'Dies ist ein Code von der Rowald Seite Dim S As String * 14 At &H60 Dim B(15) As Byte At &H60 Overlay Dim n As Byte On URXC OnRxD Enable URXC Enable Interrupts Main: If n > 13 Then Print s n = 0 End If Goto Main OnRxD: Incr n b(n) = UDR Return
Seltsam ist das ich nur duch den Befehl "Inputbin S" einen String Empfange und dann auch Speichern kann.
Code Anfang:
Code ende'Code:$sim $regfile = "m32def.dat" $crystal = 8000000 $baud = 9600 $framesize = 32 ' die Größe des Frames $swstack = 32 ' die Größe des Software-stacks $hwstack = 32 ' die Größe des Hardware-Stacks Dim S As String * 14 At &H60 do Inputbin S Printbin S Loop
Ich komme da irgenwie überhaupt nicht weiter. Ich habe versucht den String als einzelne Byte' s zu Empfangen aber auch da klappte das nur mit dem ersten Byte und dannach war alles nur im Speicher FF FF FF FF
Ich bin der Meinung da liegt mein Hund begraben oder ??
Gruß Gerd
Hallo,
dein ursprünglicher Code hat ja funktioniert, oder? Dann sollte das ja mit dem Abändern des Writeeeprom funktionieren:
Code:dim i as byte, address as byte For I = 1 To 15 Address = &H1F + I Writeeeprom Testarray(i) , Address Next
Gruß, Stefan
Lesezeichen