Code: Alles auswählen
PUB bwrite(puffer) | n,i
repeat i from 0 to 127
n := byte[puffer + i] <-----------------------------
ios.sdputc(n)
Code: Alles auswählen
PUB bwrite(puffer) | n,i
repeat i from 0 to 127
n := byte[puffer + i] <-----------------------------
ios.sdputc(n)
Code: Alles auswählen
PUB getpack128 | buffer[128],i
repeat i from 0 to 127
buffer[i] := ser.rx
return buffer
Code: Alles auswählen
PUB getpack128 | buffer[128],i
repeat i from 0 to 127
buffer[i] := ser.rx
ios.printhex(buffer[i],2)
return buffer
ich habe noch keine Ahnung von Spin (möchte ich auch garnicht) aber so viele Möglichkeiten kann es da nicht geben.Julian hat geschrieben:Hat denn keiner eine Idee wo der Fehler liegt? Ein Teil des Forums schreibt Ramotimierungen in PASM und häng an so nem Mist fest!
Code: Alles auswählen
PUB bwrite1(puffer) | n,i
repeat i from 0 to 127
n := byte[puffer][i]
'ios.sdputc(n)
PUB bwrite2(puffer) | n,i
repeat i from 0 to 127
n := byte[puffer]
puffer++
'ios.sdputc(n)
PUB bwrite3(puffer) | n,i
repeat i from 0 to 127
n:=byte[puffer+i]
PUB bwrite4(puffer) | n,i
repeat i from 0 to 127
n := byte[@puffer][i]
'ios.sdputc(n)
PUB bwrite5(puffer) | n,i
repeat i from 0 to 127
n := byte[@puffer]
puffer++
'ios.sdputc(n)
PUB bwrite6(puffer) | n,i
repeat i from 0 to 127
n := @byte[puffer][i]
puffer++
'ios.sdputc(n)
PUB bwrite7(puffer) | n,i
repeat i from 0 to 127
n := @byte[puffer]
puffer++
'ios.sdputc(n)
PUB bwrite8(puffer) | n,i
repeat i from 0 to 127
n:=byte[@puffer+i]
PUB bwrite9(puffer) | n,i
repeat i from 0 to 127
n := @byte[@puffer]
puffer++
'ios.sdputc(n)
PUB bwrite10(puffer) | n,i
repeat i from 0 to 127
n := @@byte[@puffer]
puffer++
'ios.sdputc(n)
Ich habe jetzt mal kurz drübergesehen. Irgendwie ist mir die Logik dahinter nicht ganz klar wie Du Variablen/Werte übergibst:Julian hat geschrieben:Sorry, bin erst gerade dazu gekommen mir das anzuschauen (irgendwer hatte das im Forum mal als Sozialstress beschrieben). Doch ich glaube wir reden aneinander vorbei. Das Problem liegt nicht im Code zum schreiben des Puffers auf SD (den hab ich aus xload übernommen). Das Problem ist die Pufferübergabe. Ich habe allen unnötigen Code entfernt und die Daten mal hochbeladen
Code: Alles auswählen
PUB getpack128 | buffer[128],i,test1
repeat i from 0 to 127
buffer[i] := ser.rx
return buffer
Code: Alles auswählen
.....
if packnr == 0
buffer := ymodem.getpack128 ' buffer = Adresse des Puffers
.....
Code: Alles auswählen
ios.printhex(buffer,265) <--- ich glaube, da kommt nur Müll raus. Übrigens .. warum 265 ?
Code: Alles auswählen
repeat i from 0 to 256 STEP 2
ios.printhex(buffer+i,2)
Code: Alles auswählen
VAL
byte Buffer[128-1]
Irgendwas(@Buffer) ' Addresse des Arrays Buffer[] übergeben
PUB Irgendwas(pBuffer) | i
repeat i from 0 to 127
wert := byte[pBufer][i] ' oder einer der Anderen zehn Versionen