Frage zur read-Funktion (USB) beim Atmel Software Framework

Gast #2842359
Lesenswert?
• ▲
▼
Hallo,
ich habe eine kleine Frage zur Funktion
"udi_cdc_read_buf(int* buf,iram_size_t size)" des USB services beim 
Atmel Software Framwork.
Liest diese Funktion so lange auf dem USB-Bus bis sie "size" Zeichen 
gelesen hat und blockiert solange. Oder liest diese Beim Aufruf die 
vorhandenen Zeichen im Puffer bis maximal der Anzahl "size" bzw. wenn 
weniger vorhanden sind, dann eben weniger und beendet den Lesevorgang 
danach sofort?

Wäre nett, wenn mir weiterhelfen kann.

Gruß Kevin
Gast #2842364
Lesenswert?
• ▲
▼
Timmo H. schrieb:
> Guckst du Quellcode:
> 
http://asf.atmel.com/docs/2.6.1/common/services/usb/class/cdc/device/example/atxmega256a3bu_xmega_a3bu_xplained/doxygen/html/a00124.html#gaa7374616de8bc3a83de3f1884b56fa39

Danke für den Link! Also so wie ich das verstanden habe wartet er in 
einer Schleife so lange, bis genügend Zeichen da sind, die er lesen 
kann, die Funktion blockiert also!
Gast #2842382
Lesenswert?
• ▲
▼
Wenn ich noch kurz eine Frage anhängen dürfte: gibt es im ASF eigentlich 
eine definierte Funktion für eine "Pause" also etwas wo der 
Mikrocontroller einfach nur Zeit verschwendet, aber Interrupts aktiviert 
bleiben. Ich weiß man könnte auch einfach eine Schleife programmieren, 
aber ich weiß nicht ob die vllt vom Compiler wegoptimiert wird und eine 
genaue Zeitspanne ist damit auch schwierig zu definieren...
Gast #2842431
Lesenswert?
• ▲
▼
Kevin M. schrieb:
> Wenn ich noch kurz eine Frage anhängen dürfte: gibt es im ASF eigentlich
> eine definierte Funktion für eine "Pause" also etwas wo der
> Mikrocontroller einfach nur Zeit verschwendet, aber Interrupts aktiviert
> bleiben. Ich weiß man könnte auch einfach eine Schleife programmieren,
> aber ich weiß nicht ob die vllt vom Compiler wegoptimiert wird und eine
> genaue Zeitspanne ist damit auch schwierig zu definieren...


Falls noch jemand danach suchen sollte, ich habe gerade gesehen, dass 
das ASF dafür einen eigenen Service namens "Delay routines" 
bereitstellt. :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.