www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7S64 pCDC.read über USB: Interrupt auslösen oder wie anders handhaben


Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Titel verrät es schon: Es ist nicht so leicht zu erklären.
Ich verwende den AT91SAM7S64 mit der USB-Schnittstelle. Um über USB zu 
kommunizieren verwende ich das Beispiel vom Thomas Martin mit pCDC.Read 
und pCDC.Write. Das funktioniert soweit auch ganz gut. Problematisch ist 
dabei nur, dass Read solange den Kontroller lahmlegt, bis etwas zum 
Lesen da war.

Meine Frage: Wie setzt man die Programm-Struktur am Besten auf, dass 
alles läuft und trotzdem über USB gelesen werden kann. Gibt es eine Art 
Interrupt, falls etwas über USB kommt, was man dann auslesen kann?
Oder muss ich in main eine while(1)-Schleife nehmen, die nur aus einem 
"Read" besteht?
Gibt es da nicht eine besser Lösung?

Noch eine andere Frage: Bei mir ist es immer so, dass ich, sobald ich 
den USB-Port öffne, erst etwas lesen muss, damit danach alles so 
funktioniert, wie es soll. Wenn ich nach dem Öffnen sofort schreibe, 
kommt beim PC die Daten erst 20 Sekunden später an.

Schönen Gruß,
Johannes

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.