USB-CDC-Treiber CTS-Signal

Gast #3106789
Lesenswert?
• ▲
▼
atmel schrieb:
> Ich möchte ihn nicht auswerten sondern per Hand setzen

Problem: CDC(-ACM) ist nicht dafür gedacht, einen USB->Seriell Wandler 
anzusprechen, sondern dafür, ein Gerät, was eigentlich/früher über dem 
COM-Port angeschlossen wurde, jetzt per USB zu betreiben, ohne dass 
dafür große Software-Anpassungen nötig wären.

CTS war für diesen Anwendungsfall unnötig: Flusskontrolle auf der 
Strecke "Rechner <-> Gerät" obliegt jetzt dem USB, wo (im Vergleich zur 
RS232) immer genug Bandbreite vorhanden ist.

Deswegen kann dein USB-Gerät dem PC nur die Flags DSR, RI und CD 
mitteilen, CTS ist sozusagen fix auf "true" "verkabelt".

Das ist einer der Gründe, warum "echte" USB->Seriell Wandler-Chips 
(ftdi, prolific, silabs & co) eigene Treiber brauchen, und nicht einfach 
CDC verwenden.
Gast #3107096
Lesenswert?
• ▲
▼
>Ich möchte ihn nicht auswerten sondern per Hand setzen
Stimmt ja.

Das was Du implementieren musst ist ein Virtueller COM-Port (VCP). Der 
besteht aus 2 x CDC und 1 x HID und etwas Protokoll. Da kannst Du dann 
CTS und RTS und alles andere setzen.

Antwort schreiben

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.

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.