RxBuff_E0 ?

  • 1
  • 2
  • 3
  • Seite 2 von 3
TheBeginner
Schreiberling
Avatar
Geschlecht: keine Angabe
Herkunft: Wunsiedel Bayern
Alter: 68
Beiträge: 776
Dabei seit: 06 / 2013
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 17.04.2022 - 09:04 Uhr  ·  #9
Guten morgen,

@Gunter könnte es diese sein ?


Code

LDS       _ACCA, _RXCOUNTCDC



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: 17.04.2022 - 13:18 Uhr  ·  #10
Dazu schau ich im Projekt im PED in dem linken Block auf den internen Variablen nach und such mir eine, die passen könnte. Bisschen probieren ist dabei angesagt, aber man findet sowas recht schnell.

@Frank: Variable auf einem Display ausgeben, ein paar Daten empfangen, ein paar aus dem Puffer holen. So findest du das schnell raus.

Hier (siehe Bild) unter System sieht man die internen Variablen und kann so z.B heraus finden, daß der Grafikspeicher GraphColArr heißt ;).

Harry
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
TheBeginner
Schreiberling
Avatar
Geschlecht: keine Angabe
Herkunft: Wunsiedel Bayern
Alter: 68
Beiträge: 776
Dabei seit: 06 / 2013
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 17.04.2022 - 18:14 Uhr  ·  #11
Hallo Harry, Danke für den Tipp, ich habe gerade mal nachgeschaut,
aber so richtig etwas gefunden habe ich nicht.
Das müsste ja min ein var als Word sein und nicht als Byte.

_RXCOUNTCDC : Byte; // fällt mir gerade auf, aberr auch nur als Byte.

wäre schon schön wenn man das so machen könnte

Code

var count : word;
count:= SerInpBlockP_TO(UsartCDC, @RxBuff_cdc, 254, 5); 



Gruß Frank
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: RxBuff_E0 ?

 · 
Gepostet: 17.04.2022 - 18:42 Uhr  ·  #12
Der Buffer kann doch max. $FF sein, also paßt ein Byte.

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

Re: RxBuff_E0 ?

 · 
Gepostet: 17.04.2022 - 19:09 Uhr  ·  #13
Harry jetzt stehe ich auf dem Schlauch.
Mein RxBuff_cdc ist ein array.

Code

  RxBuff_cdc : array[0..1024] of byte;  




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: 17.04.2022 - 21:15 Uhr  ·  #14
Ähm Frank, ist das bei einem CDC anders als bei einem normalen UART?

Zitat
RXBUFFER (RXBUFFER1), RAMpage Definition der RX-Buffer Länge (Ringbuffer). RXBUFFER erfüllt zwei Funktionen: zum einen werden die Speicherstellen in der gewünschten Anzahl (4..254) bereitgestellt, zum anderen wird, der Receiver im Interrupt betrieben, ansonsten im Polling (wenn RxBuffer nicht definiert ist). Bei der Definition der Bufferlänge mit RxBuffer muss beachtet werden, dass die meisten Prozessoren nur einen relativ kleinen Ram Speicher haben.


Nein das gilt auch hier. Das was du da hast, ist dein privater, eigener Buffer und hat nichts mit dem Define zu tun(?)

Harry
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 - 13:39 Uhr  ·  #15
Zitat geschrieben von TheBeginner

Woher weiß ich wieviele Zeichen jetzt im RxBuff_E0 sind ?

Um diese Frage noch zu beantworten: Genau so viele, wie vorher im RxBufferE0 waren.;)

Aber eines versteh ich immer noch nicht: Wenn der RxBufferE0 max. 255 (oder laut Handbuch 254) Byte groß sein kann, wieso ist dann dein RxBuff_E0 so groß?
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 - 15:19 Uhr  ·  #16
Hallo Harry, weil ich mehr als 255 Zeichen zurück bekomme,
deswegen der
RxBuff_cdc : array[0..511] of byte;

Ich muss halt sicher stellen das der in Define nicht überläuft
und vorher abholen.

Code

Define
  SerPortCDC          = TimeOut;
  RxBufferCDC         = 254, iData;
  TxBufferCDC         = 254, iData;



Gruß Frank
  • 1
  • 2
  • 3
  • Seite 2 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.027804s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI