Forum: PC-Programmierung auf Konsole ausgeben


von gast1 (Gast)


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

von Stefan B. (stefan) Benutzerseite


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.

von gast1 (Gast)


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.

von Stefan B. (stefan) Benutzerseite


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.

von gast1 (Gast)


Lesenswert?

Danke für die Info.

Wie komplex ist eigentlich die USB Programmierung.

von Thomas B. (escamoteur)


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

von gast1 (Gast)


Lesenswert?

Habe vergessen zu sagen, das BS ist Vista.

von Nils S. (kruemeltee) Benutzerseite


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.

von Thomas B. (escamoteur)


Lesenswert?

Meinst Du CDC von ATMEL?

Gruß
Tom

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

von Nils S. (kruemeltee) Benutzerseite


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?

von gast1 (Gast)


Lesenswert?

Intel(R) ICH10 Family USB Enhanced Host Controller

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Neee, ich meinen den Atmel ;)

von gast1 (Gast)


Lesenswert?

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

Der uC von Atmel ist ein at90usb.

von gast1 (Gast)


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.

von Uwe .. (uwegw)


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

von gast1 (Gast)


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.

von Michael M. (Gast)


Lesenswert?

Uwe ... schrieb:
> AVR-GCC-Tutorial

\räusper\

von gast1 (Gast)


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.

von Michael M. (Gast)


Lesenswert?

die antwort auf deine frage sollst du entnehmen.

von gast1 (Gast)


Lesenswert?

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

von Michael M. (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


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".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.