Forum: Mikrocontroller und Digitale Elektronik USB Schnittstelle von Arduino, etc. als Serielles Port nutzen - in C


von Fuerte S. (fuerte_s)


Lesenswert?

Liebe Experten hier,

ich habe in Google lange gesucht um etwas zu finden zu dem Thema, aber 
es kommt nichts Ordentliches, weil da nur Arduino Sprache Beispiele 
zurückkommen, oder diverse Platinen auf denen ein USB seriell Interface 
drauf ist. Ich kann mir aber nicht vorstellen, dass das nicht schon 
jemand in C durchgezogen hat.

Gehen tut es darum. Der ISP ist ja im Prinzip eine serielle 
Schnittstelle. Dieser ISP kann so viel ich weiß auch dazu verwendet 
werden um Daten an den PC zu senden. In Aruduino Language geht das ganz 
einfach mit den entsprechenden Befehlen.

Hat das schon einmal jemand in C gemacht? Oder wonach muss ich da 
googeln, damit ich da ein ordentliches Resultat finde?

Für Hilfe wäre ich dankbar :-)

LG
JK

: Verschoben durch User
von Michael U. (amiga)


Lesenswert?

Hallo,

USB auf den üblichen Arduinos (Uno, Nano usw.) ist doch nur ein 
USB-Serial-Adapter, entweder mit Mega16U2 oder FTDI oder CH340 oder....
RxD und Txd hängen ganz normal am AVR-Uart.
Natürlich kann man damit machen, was man will, auch ohne C++.

Einzige Ausnahme ist, daß DTR über einen Kondensator a,m Reset des AVR 
hängt um den Bootloader zu starten. Wenn keiner drauf ist gibt es eben 
nur einen Reset wenn man die serielle am PC entsprechend öffnet.

Oder habe ich Deine Frage nicht richtig verstanden?

Gruß aus Berlin
Michael

von Tom E. (Gast)


Lesenswert?

Fuerte S. schrieb:
> Hat das schon einmal jemand in C gemacht?

"Arduino Language" ist C

von Ion (Gast)


Lesenswert?

Erstmal FALSCHE RUBRIK


Zweitens fragt er glaube ich nach einem C Code um seriell Daten an den 
PC zu schicken...

Nein das hat bestimmt noch nie jemand gemacht -.-

Michael U. schrieb:
> Oder habe ich Deine Frage nicht richtig verstanden?

Der TO hat einfach keine Ahnung von C denke ich mal :^)

von Tom E. (Gast)


Lesenswert?

Fuerte S. schrieb:
> Hat das schon einmal jemand in C gemacht? Oder wonach muss ich da
> googeln, damit ich da ein ordentliches Resultat finde?

p.s. Den Untertitel vom Forum hast du inhaltlich erfaßt?
1
Hier ... Bitte hier keine Fragen posten!

von Joachim B. (jar)


Lesenswert?

Fuerte S. schrieb:
> Hat das schon einmal jemand in C gemacht? Oder wonach muss ich da
> googeln, damit ich da ein ordentliches Resultat finde?

ich verstehe noch nicht mal dein Anliegen!

was genau willst du?

Ich gehöre zu denen die sehr wohl in C vom Arduino an den PC seriell 
über USB senden und empfangen.
Das mache ich in der Arduino IDE und könnte es theoretisch auch in C 
über AVR Studio, nur was hat die ISP damit zu tun?
Der ISP ist zwar eine serielle Schnitte aber die vom PC nur mit viel 
Software sowie Hardwareunterstützung umgesetzt werden kann z.B. mit ISP 
Programmer + Treiber.

Aber man könnte die ISP Pins als soft Serielle nutzen und per MAX3232 
auch an eine PC Com schicken.

: Bearbeitet durch User
von Luther B. (luther-blissett)


Lesenswert?

Tom E. schrieb:
> "Arduino Language" ist C

C++

von Fuerte S. (fuerte_s)


Lesenswert?

Lieber Tom, Joachim, Ion und Michael,
zuerst Danke!

Ich bin einem Irrtum aufgesessen, der daher kommt, dass ich bisher immer 
direkt über den ISP programmiert habe.

Deshalb klingt meine Frage jetzt im Nachhinein zugegebenermaßen  etwas 
blöd. Und ich weiß jetzt auch wieso ich im Internet nichts gefunden 
habe. Ich habe gedacht, der USB geht über einen Chip auf den ISP und die 
hängen direkt zusammen.

Jetzt habe ich nach der ersten Antwort von Michael den Schaltplan 
gecheckt und gesehen dass dem nicht so ist. Da hängt nur der UART an dem 
USB. Ich habe weitergelesen und weiß jetzt auch wofür der Bootloader 
genau gut ist ;-).

Sorry, dass ich die Aufregung verursacht habe.

Und Arduino Sprache ist schon C - nur ohne spezielle Arduino Library im 
AVR Studio gibt es ein paar Übersetzungsfehler.
Das wollte ich mir nicht antun für die einfache Aufgabe....hätte gedacht 
ich hack es direkt rein ohne irgend welche Zusatzinstallationen. Das 
werde ich jetzt wohl machen - Vielen Dank noch einmal.

LG
JK

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.