RxBuff_E0 ?

  • 1
  • 2
  • 3
  • Seite 3 von 3
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 18.04.2022 - 15:42 Uhr  ·  #17
Hi Frank,

schon, aber mit SerInpBlockP_TO(UsartE0, @RxBuff_E0, 254, 10); liest der den Bufferinhalt immer ab RxBuff_E0[0] in deinen Buffer ein und überschreibt ihn quasi von Anfang an. Also hattest du noch nie das Problem, daß zu viele Daten rein gekommen sind. Du verschwendest eher Rechenzeit um den Define-Buffer in deinen einzulesen.

Gruss
Harry
TheBeginner
Schreiberling
Avatar
Geschlecht: keine Angabe
Herkunft: Wunsiedel Bayern
Alter: 68
Beiträge: 776
Dabei seit: 06 / 2013
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 18.04.2022 - 18:49 Uhr  ·  #18
Hallo Harry, also so wie ich das jetzt getestet habe komme ich so nicht an den
in Define erstellten RxBufferCDC ran.
Oder an das array unter System/variable _RXBUFFCDC array Byte


Das geht nicht
Code

for i:= 0 to _RXCOUNTCDC do
  str:= str + RxBufferCDC[i];  //Fehler aber Richtig wäre RxBufferCDC; 
endfor;



Selbst mit der var aus System komme ich so nicht weiter
Code

for i:= 0 to _RXCOUNTCDC do
  str:= str + _RXBUFFCDC[i];  //Fehler auch hier will _RXBufferCDC kein [i] haben
endfor;


Du siehst ich muss schon die Daten mit SerInp raus schaufeln
SerInpBlockP_TO(UsartCDC, @RxBuff_cdc, 511, 2); //jetzt auf 511 gesetzt


Gruß Frank
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 18.04.2022 - 19:08 Uhr  ·  #19
Also wen ich das richtig verstanden habe .... sobald du aus dem RxBuffer was liest und keine neuen Daten empfangen werden, verringert sich natürlich auch automatisch (!) der Counter. Weil lesen = im Buffer löschen. Da der Buffer nur 254 Byte groß sein kann, kannst du auch nur max. 254 Byte mit einem Blockread lesen. Von dem _RxBuff?? würde ich die Finger lassen, da du hier in den Counter und eine sicher vorhandene, weitere Variable, die die Position des Ringspeichers beinhaltet, eingreifst. Das geht nicht gut!

Ich vermute mal, daß du GCode-Befehle einliest? Also Text? Wieso liest du dann nicht mit einem ReadLn bis zu einem Cr/Lf?

Gruss
Harry
TheBeginner
Schreiberling
Avatar
Geschlecht: keine Angabe
Herkunft: Wunsiedel Bayern
Alter: 68
Beiträge: 776
Dabei seit: 06 / 2013
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 18.04.2022 - 19:25 Uhr  ·  #20
Harry das ist schlecht, weil ich noch einige CMD als Byte mit sende

Gruß Frank
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 19.04.2022 - 12:33 Uhr  ·  #21
Hi Frank,

gemischt Text/Byte-Daten? Ganz schlechte Idee ;)

Harry
TheBeginner
Schreiberling
Avatar
Geschlecht: keine Angabe
Herkunft: Wunsiedel Bayern
Alter: 68
Beiträge: 776
Dabei seit: 06 / 2013
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 19.04.2022 - 13:54 Uhr  ·  #22
Genau Harry, deswegen sende ich alles in Byte in einen array.


Gruß Frank
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 19.04.2022 - 15:43 Uhr  ·  #23
Aber du sendest deutlich mehr Text, als die paar Daten, die du als Byte benötigst? Dann wäre es doch umgekehrt schneller.

Harry
miparo
Schreiberling
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 988
Dabei seit: 09 / 2007
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 23.04.2022 - 20:30 Uhr  ·  #24
Zitat
SerOutBlock_P(UsartCDC, @RxBuff_E0, rxCnt);


Zumal USB keine mini Pakete mag.

Der Overhead ist immer erheblich, da kann man gleich 64 Bytes oder so senden.
Das geht schneller.
  • 1
  • 2
  • 3
  • Seite 3 von 3
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   137   151 · Page-Gen-Time: 0.036397s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI