mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB2Seriell


Autor: can (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein Programm, das die Hex-code von dem PC durch serielle
Schnittstelle nach einen Microcontroller übertragen. Das heiß, dieses
Programm funktioniert nur mit einer seriellen Schnittstellle.
Nun habe ich einen Laptop erworben und der Laptop hat keine serielle
Schnittstelle, deshalb habe ich einen USB-Serielle Schnittstelle
gekauft und an meinen Laptop angeschlossen.
Wie soll ich dann nun an dem Programm melden, das es eine serielle
Schnittstelle gibt ?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"...und an meinen Laptop angeschlossen."

Und dann schreit er aber doch nach dem Treiber.

Wenn Du den dann installiert hast, sieh doch mal unter den
Schnittstellen nach.

Bei mir war da eine COM4, aber auch nur solange, wie das Kabel
eingesteckt ist.

Du must also das Kabel einstecken, bevor Du das Programm startest und
erst dann rausziehen, nachdem das Programm wieder beendet ist.


Beachte aber, der USB hat eine elend lange Latenzzeit.
Es ist also günstig, große Datenbrocken am Stück zu versenden, damits
auch schnell geht.
Ich schicke deshalb die Daten in Paketen zu 512 Byte.


Peter

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte auch gedacht, dass USB Die Daten Packetweise verschickt.
Zumindest bei meinem Adapter (eigentlich ein USB-LCD Adpater für ein
serielles Crystalfontz Display, hat aber einen FT232 Chip drauf) kommen
auch einzelne Bytes quasi sofort an. Man kann zumindest keine
Verzögerung erkennen, wenn der CPU nicht gerade zu 100% ausgelastet
ist.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt,

"sofort" ist relativ.
Bei 1200 Baud wirst du keinen Unterschied merken, bei 115200 Baud
dagegen schon.


Peter

Autor: can (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo peter dannegger
Danke für die Hinweise.
Bei mir ist es auch COM4, kann ich an dem Programm melden, daß es eine
COM4 gibt und das Programm starten, als der Laptop eine serielle
Schnittstelle hätte?
Der Port am Laptop ist physikalisch USB und das Programm sendet die
Daten nach der internen Implementierung an serielle Schnittstelle,
deshalb bin ich nicht sicher ob es wirklich funktioniert.
Für mein Zweck habe ich kein Problem mit der Latenzzeit

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter:

Ich nehme mal an, diese Latenzzeit kann man nicht wesentlich verkürzen,
oder ? Ich programmiere meinen ATmega (Bootloader) via USB, und das ist
sooooooo langsam. Bei gleicher Baudrate ist es bei einer normalen
seriellen Schnittstelle um ein Vielfaches schneller.

Thorsten

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thorsten,

siehe:

http://www.mikrocontroller.net/forum/read-4-53146.html#85425

Bis ATMega16 ist das auszuhalten und mehr brauchte ich bisher auch
nicht.

Bei einem randvollen ATMega128 siehts aber schon anders aus.

Da könnte man vielleicht die neuen Routinen ans Ende schreiben, damit
nicht immer alles komplett programmiert werden muß.
Und dann eine intelligente PC-Software, die mit dem letzten gebrannten
Hex-File vergleicht und nur die Unterschiede runtersendet.
Die könnte auch erst eine CRC anfordern, damit sie weiß, daß es auch
wirklich das letzte Hex-File war.


Peter

Autor: nguyen le thuan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cau 10! sao may hom nay con ko thay cau online?

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.