www.mikrocontroller.net

Forum: PC-Programmierung auf Konsole ausgeben


Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe eine Hardware welche über USB versorgt wird.
Von der Hardware wird ein Display über eine serielle Schnittstelle 
angesteuert und über SPI der Sensorwert eingelesen.

Ich würde gerne den Wert der am Display angezeigt wird auch auf der 
Konsole anzeigen.

Wie ist es möglich den Wert vom Mikrocontroller auszulesen und am PC 
anzuzeigen. Programmiere in C.

MfG

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht machbar. Man müsste wissen, um welchen Mikrocontroller es 
sich handelt (Datenblatt), wie er an USB angeschlossen ist (Schaltplan) 
und ob der Mikrocontroller von einem selbst entsprechend programmierbar 
ist.

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der uC ist ein at90usb. Schaltplan habe ich keinen. Über USB flashe ich 
den uC nur. Kann ich die Werte nur über USB auslesen oder gäbe es noch 
eine andere Methode.

Soviel ich gehört habe ist USB programmierung nicht gerade einfach. Gibt 
es noch eine andere Art wie ich die Daten übertragen kann.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt mehrere Wege nach ROM.

Wenn du den Quellcode hast und die USB/CDC Geschichte scheust und eine 
RS232 serielle Schnitstelle auf dem PC hast und einen 
TTL-RS232-Pegelwandler bauen kannst, kannst du auf dem At90USB mit 2 
UARTs (nach RXD1 und TXD1 Pins im Datenblatt schauen) per Hardware-UART 
Daten austauschen.

Wenn du den Quellcode hast und die USB/CDC Geschichte scheust und eine 
RS232 serielle Schnitstelle auf dem PC hast und einen 
TTL-RS232-Pegelwandler bauen kannst, kannst du auf dem At90USB auf einem 
freien Pin eine Software-UART programmieren. Atmel hat auch zur 
Software-UART Appnotes.

Wenn du den Quellcode hast, kannst du versuchen auf dem At90USB 
zusätzlich ein sog. CDC Gerät zu implementieren. Atmel hat dafür die 
"AVR280: USB Host CDC Demonstration on megaAVR with USB". damit kannst 
du Daten an den PC senden, die du dort per selbstgeschriebenem Programm 
oder Terminalprogramm über eine virtuelle serielle Schnittstelle 
empfängst.

Ganz wild: Wenn du das AVR Programm nicht als Quellcode hast. kannst du 
versuchen die Kommunikation zwische Display und µC mit einem 2. µC 
abzufangen und dann an den PC zu senden.

Der Aufwand und das nötige Wissen steigt von oben nach unten.

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info.

Wie komplex ist eigentlich die USB Programmierung.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kuck mal hier:

http://www.fourwalledcubicle.com/LUFA.php

Da gibts ein komplettes USB Framework, dass auch einen Virtual-Comport 
unterstützt.

gruß
Tom

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe vergessen zu sagen, das BS ist Vista.

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LUFA ist etwas umständlich. Für die AT90USB... gibt es fertige CDC 
Beispiele, die erstellen dir einen virtuellen Com-Port, du musst dich 
nicht um Baudraten kümmern und kannst alles ganz easy am PC empfangen.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinst Du CDC von ATMEL?

Gruß
Tom

P.S: Wieso ist LUFA umständlich? Sieht für mich sehr gut strukturiert 
aus

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das CDC Demo von Atmel, das dürfte mit geringsten anpassungen auf 
den diversen 90USB... laufen.

>Wieso ist LUFA umständlich? Sieht für mich sehr gut strukturiert
>aus
Erstmal einen Tag Einarbeitung bis man das mal für seinen Controller und 
seine Bedürfnisse angepasst hat. Das CDC von Atmel hatte ich nach 3 
Stunden soweit, dass ich putc, puts, getc und gets hatte. Die 
Kommunikation mit dem PC ist sehr sehr einfach damit zu basteln.

@Ersteller:
Welchen USB Controller hast du denn?

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Intel(R) ICH10 Family USB Enhanced Host Controller

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neee, ich meinen den Atmel ;)

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist nicht ganz klar was du mit USB Controller meinst.

Der uC von Atmel ist ein at90usb.

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube ich versuche es zuerst einmal über RS232. Kennt jemand 
Beispiele oder eine Seite wo beschrieben wie man über RS232 Daten vom uC 
ausliest.

Autor: Uwe ... (uwegw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn dir ne konsolenmäßige Testausgabe reicht, dann nimmt doch z.B. 
TeraTerm. Dann brauchst du dich nur noch um die Funktionen auf dem AVR 
kümmern -> AVR-GCC-Tutorial

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Funktionen auf dem AVR sind fertig. Es geht nur darum die Daten 
auszulesen und auf dem PC anzuzeigen. Würde gerne selber ein Programm in 
C schreiben.
Einerseits wegen der Übung und auch weil ich die Daten auslesen, 
bearbeiten  und dann auf der Konsole ausgeben kann.

Andere Frage, weiß jemand wie ich einen int verkleinern kann. Brauche 
den Datentyp int aber nicht bis 65k sondern bis 255 für eine Funktion wo 
int vorausgesetzt wird und nicht char.

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uwe ... schrieb:
> AVR-GCC-Tutorial

\räusper\

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dann brauchst du dich nur noch um die Funktionen auf dem AVR
>kümmern -> AVR-GCC-Tutorial

Es geht hier um eine Ansi C Programmierung was soll ich aus dem 
AVR-GCC-Tutorial entnehmen wenn ich schon wie beschrieben mit dem AVR 
fertig bin.

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die antwort auf deine frage sollst du entnehmen.

Autor: gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo steht im Tutorial wie ich mit einem C Programm die Schnittstelle von 
einem PC auslese?

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gast1 schrieb:
> Andere Frage, weiß jemand wie ich einen int verkleinern kann. Brauche
> den Datentyp int aber nicht bis 65k sondern bis 255 für eine Funktion wo
> int vorausgesetzt wird und nicht char.
DAS wird dir beantwortet.

übrigens: stell dir vor! du bist nicht der erste mensch auf gottes 
grüner erde, der eine serielle schnittstelle ansprechen will!
wahnsinn, oder??
es gibt sogar leute, - jetzt halt dich fest - die beschreiben das auf 
seiten im intärnät!!!
unglaublich!

pass auf, ich hab ne super seite NUR für dich!
http://www.gidf.de

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, um etwas näher bei der Sache zu bleiben: Im Forenbereich 
"PC-Programmierung" wird das Thema des öfteren diskutiert, für alle 
möglichen Programmiersprachen und Betriebssysteme.
Sinnvolle Suchbegriffe für die Forensuche sind hier sicherlich 
"Win32-API" und "serielle Schnittstelle".

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.