Forum: Mikrocontroller und Digitale Elektronik ADC- Wert in C-Programm einlesen


von Andreas (Gast)


Lesenswert?

Hallo,

ich habe vor kurzem angefangen mich mit Mikrocontrollern zu 
beschäftigen, bin auch schon dabei mich durch das Tutorial zu lesen.

Ich habe jetzt das Thema mit der ADC Wandlung hinter mir. Es hat 
geklappt einen Spannungswert auf einem Display auszugeben.

Kleiner Überblick über meine Konfigurationen des Arbeitsplatzes:

STK 500 Board
ATMega16 µC's
AVR Studio
Windows 7
USBzuSeriell Adapter

(Das System funktioniert so wunderbar)

Meine frage ist jetzt, da ich es mit der Hardware-Programmierung noch 
keine größeren Probleme gibt, wie ich jetzt über eine von mir 
geschriebenes C-Programm die Daten des ADCs einlesen kann und weiter 
verarbeiten kann.

Ich will nur ein kleines Programm schreiben, also im Prinzip die 
Spannung von 0-5V in einem Fenster auf dem Pc anzeigen zu lassen.

Ich suche nicht nach Quelltext, ich will wissen wie man so etwas 
aufbaut, klar ein ordentlich kommentierter Quelltext hilft da auch sehr 
viel weiter, aber ich weis (zu meinem jetzigen Stand) nicht nach was ich 
schauen muss.

Ich habe schon sehr viel gegoogelt aber noch nichts gefunden, was 
wahrscheinlich auch daran liegt, dass ich nicht genau weis nach was ich 
suche.

Wenn mir hier jemand Literatur empfehlen könnte wäre ich sehr froh.

Mein Lernzeil ist eigentlich nur übe den PC zu kommunizieren.

Danke schon mal im vorraus.

Gruß
Andreas

von Tilo (Gast)


Lesenswert?

Hallo

Warum schaust du nicht in der Beschreibung von dem Mega, den du 
verwenden willst?
Bei den ATTinys gibt es Codebeispiele in ASM und C. Wird bei den Mega 
nicht anderst sein.
Des weiteren gibt es hier ein Tutorial:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC


Was ist daran so schwer?

von Andreas (Gast)


Lesenswert?

Ja hab mir das Tut schon angeschaut.

Ich kann mir noch nicht so recht vorstellen, wie ich vom C-Programm über 
den Com-Port kommunizieren kann.

Aber schonmal danke für die Antwort

Gruß
Andreas

von Tilo (Gast)


Lesenswert?

Und was hat das mit ADC zu tun?

"Der UART: Wie kann ich Daten zwischen einem Mikrocontroller und einem 
PC austauschen?" -> 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

Sollen wir für dich noch deinen Code schreiben oder machst du das 
selber?

Sorry wenn ich ein wenig grantig werde aber bitte ließ dir das Tutorial 
durch und komme danach wieder. Dort steht vermutlich fast alles drin was 
du wissen willst.

von Hubert G. (hubertg)


Lesenswert?

Es gibt im Datenblatt auch für den UART ein einfaches Beispiel
Und hier auch:
www.mikrocontroller.net/articles/AVR-GCC-Tutorial#UART

von Andreas (Gast)


Lesenswert?

Um es nochmal vereinfacht zu sagen. Ich suche im Prinzip die Funktion 
des Hyperterminals.

Dachte schon ich wär total doof, hab mir den Thread "UART" durchgelesen 
und das einzigste was da was mit senden an PC zu tun hat war des mit 
Hyperterminal, die Konfiguration, war wie oben schon erwähnt, okay.

Ich möchte also von einem Programm, welches in C-geschrieben werden soll 
(was sich auf dem PC befinden wird) schreiben, welches sich die Daten 
aus dem Mikrocontroller holt.

Also, nach was muss ich suchen um die RS232 schnittstelle Software mäßig 
vom PC aus abfragen kann?

Gruß
Andreas

von Justus S. (jussa)


Lesenswert?

Andreas schrieb:
> Also, nach was muss ich suchen um die RS232 schnittstelle Software mäßig
> vom PC aus abfragen kann?

danach zB http://msdn.microsoft.com/en-us/library/ms810467.aspx

von Karl H. (kbuchegg)


Lesenswert?

Andreas schrieb:

> Also, nach was muss ich suchen um die RS232 schnittstelle Software mäßig
> vom PC aus abfragen kann?

Nach "PC serielle Schnittstelle RS232" bei google?

von Andreas (Gast)


Lesenswert?

Ey Sorry....

Ich bin ja in vielen Foren unterwegs... aber sowas unfreundliches wie 
hier is mir noch nicht über den weg gelaufen...

Hab doch lediglich was normales nachgefragt... hier gleich die 
unterstellungen rauszuballern les ma gescheit die tuts, fand ich schon 
übertrieben aber jetzt so von wegen "wie wärs denn hiermit" ....

Naja, ich bedanke mich trotzdem für die Links!

von Karl H. (kbuchegg)


Lesenswert?

Andreas schrieb:
> Ey Sorry....
>
> Ich bin ja in vielen Foren unterwegs... aber sowas unfreundliches wie
> hier is mir noch nicht über den weg gelaufen...
>
> Hab doch lediglich was normales nachgefragt... hier gleich die
> unterstellungen rauszuballern les ma gescheit die tuts,

Und?
Hast du die Tuts gelesen?
Hast du dich selber erst mal schlau gemacht, wie man auf dem PC die 
Serielle anspricht?

Auf konkrete Fragen gibts auch konkrete Antworten.
Auf Wischi-Waschi-Rundumschlag-Fragen, die mit 20 Sekunden Recherche in 
Eigenverantwortung mindestens 5000 Links bei Google bringen, gibts nicht 
mehr als das.

Wir sind hier nicht im Kindergarten, wo einen die Tante aufs Klo Lulu 
führen muss. Von dir wird erwartet, dass du zunächst selbst versuchst 
dir Informationen zu beschaffen. Kein Mensch setzt sich hier hin und 
schreibt dir eine 5 Seiten Abhandlung über etwas, was sich zuhauf im Web 
findet und nur darauf wartet von dir ergoogelt zu werden.

von Knut (Gast)


Lesenswert?

Karl heinz Buchegger schrieb:
> Wir sind hier nicht im Kindergarten, wo einen die Tante aufs Klo Lulu
> führen muss. Von dir wird erwartet, dass du zunächst selbst versuchst
> dir Informationen zu beschaffen.

Naja, übertreibs ma nicht....

Nur weil offensichtlich keiner seine Frage verstanden hat, muss man 
nicht gleich patzig werden. Wenn hier nur Profis unterwegs sein würden, 
könnte man sich ein Forum sparen.


@ Andreas:
Das is hier so, wenn keiner ne Antwort hat wird auf Tuts verwiesen, oder 
gleich rumgemeckert.


Nichts für ungut....


Gruß Knut

von Frederik K. (n0ll4k)


Lesenswert?

Man muss allerdings auch mal beachten das der Threadtitel irgendwie 
nicht so viel mit dem eigentlichen Problem zu tun hat.

Aber tendenziell musst du halt schauen wie du die RS232 Schnittstelle an 
deinem PC nutzen kannst mit einem C Programm.

Und dann solltest du dir noch überlegen ob du die Daten vom 
Mikrocontroller direkt aufbereitest und dann rüberschickst oder ob du 
die Umrechnung vom ADC Wert in einen Spannungswert erst am Rechner 
machst.

Mehr isses ja eigentlich nicht. außer evtl das ganze hübsch aussehen zu 
lassen.

von Karl H. (kbuchegg)


Lesenswert?

Knut schrieb:
> Karl heinz Buchegger schrieb:
>> Wir sind hier nicht im Kindergarten, wo einen die Tante aufs Klo Lulu
>> führen muss. Von dir wird erwartet, dass du zunächst selbst versuchst
>> dir Informationen zu beschaffen.
>
> Naja, übertreibs ma nicht....

Ich hätt auch nichts gesagt, wenn nicht dieser patzige Vorwurf gekommen 
wäre.

von Andreas (Gast)


Lesenswert?

Karl heinz Buchegger schrieb:
> Ich hätt auch nichts gesagt, wenn nicht dieser patzige Vorwurf gekommen
> wäre.


Um eins klarzustellen, der erste Vorwurf kam von dir, von wegen ich 
hätte die Tuts nicht gelesen....

Falls du es mittlerweile bemerkt hast, ging es eigentlich nicht um Uart 
oder ADC.

Eins gesteh ich mir ein, den Threadtitel hätte ich anders formulieren 
sollen, aber wenn man den Einführungspost aufmerksam gelesen hätte, 
wüsste man was ich meinte.

Und achja, ich hab auch schon gegoogelt, nur wer weis vll gibts ja noch 
andere Foren wo es quasi auch n tut gibt wie man da am besten vorgeht 
und hier jemand ist und was von diesem tut weis.

Find es nur krass das sich hier Leute gleich über einen stellen wollen, 
ohne zu wissen was Sache is..... das zeigt wahre Größe^^

von Karl H. (kbuchegg)


Lesenswert?

Andreas schrieb:
> Karl heinz Buchegger schrieb:
>> Ich hätt auch nichts gesagt, wenn nicht dieser patzige Vorwurf gekommen
>> wäre.
>
>
> Um eins klarzustellen, der erste Vorwurf kam von dir, von wegen ich
> hätte die Tuts nicht gelesen....
>
> Falls du es mittlerweile bemerkt hast, ging es eigentlich nicht um Uart
> oder ADC.

Richtig.
Im eigentlichen Sinne geht es um Windows und wie man von Windows aus die 
serielle Schnittstelle anspricht.

Und das hat jetzt mit µC genau was zu tun?
Und das hat jetzt mit dem Thema dieses Forums 'µC und Elektronik' genau 
was zu tun? Vor allen Dingen, wenn es auch ein Forum 'PC-Programmieren' 
gibt?

> Find es nur krass das sich hier Leute gleich über einen stellen wollen,
> ohne zu wissen was Sache is..... das zeigt wahre Größe^^

Dann formuliere deine Frage in erster Linie gleich so, dass man weiß was 
Sache ist.
Du willst wissen, wie du am billigsten auf dem PC ein Programm bekommst, 
mit dem man auf die Serielle Schnittstelle zugreifen kann und 
Kommunikation darüber machen kann. Und das ganze in C.

Nun weiß keiner hier, wie gut deine Kentnisse in der C Programmierung 
unter Windows auf dem PC sind. Da du nichts dazu sagst, gehe ich davon 
aus, dass du unter Windows C-Programmieren kannst. Und dann gibt es 
unzählige Web-Seiten, die sich genau mit dieser Thematik beschäftigen. 
Nur suchen muss man. Und keine patzigen Antworten geben, wenn einen 
jemand darauf hinweist, doch bitte zuerst einmal seine Hausaufgaben zu 
erledigen.

Wenn du den Übertragungskanal dann einmal unter Kontrolle hast, ist der 
Rest nur noch Hin und Herschicken von Bytes bzw. darauf aufbauend 
möglicherweise von simplen Texten. Hier kannst du dann kreativ sein und 
dir was ausdenken.

PC an µC   "SAMPLE CHANNEL 1;"
µC an PC   "VALUE: 675;"
PC an µC   "SAMPLE CHANNEL 5;"
µC an PC   "VALUE: 867;"
PC an µC   "CONTINOUS SAMPLE CHANNEL 7;"
µC an PC   "345; 347; 344; 567; 587; 89"
PC an µC   "STOP;"
PC an µC   "..........

denk dir was aus. Ob du die Kommandos so im Klartext machst, oder ob es 
Buchstabenkürzel dafür gibt oder ....   ist ganz dir und deinen 
Fähigkeiten bzw. dem was du brauchst überlassen.

von Andreas (Gast)


Lesenswert?

Danke für die Antowrt. Ich frag mich grad selbst wieso ich das hier 
gepostet hab, also unter µC und Elektronik... wahrscheinlich weil ich in 
gedanken noch bei meinem µC Programm war.

Das ich patzig geantwortet habe ist mir während dessen nicht 
aufgefallen, dafür entschuldige ich mich!

Programmieren in C oder C++ klappt soweit, wenn ich ab und an ma häng 
wird nachgeschlagen. Hab das 2 Jahre in der Uni gemacht und immer alles 
hinbekommen.

Mittlerweile interessiere ich mich eben auch für die kommunikation 
zwischen PC und fremder Hardware... und da will ich mich nun etwas 
einarbeiten.

Die letzte Antwort hat mir eigentlich recht weit geholfen. Zumal ich ja 
ein ganz stupides Programm schreiben will was mir lediglich den Wert der 
Spannung in einem Fenster unter Windows anzeigt. Das Fenster zu 
programmieren war nicht emin Problem eben nur die Daten vom µC in mein 
Programm zu bekommen.

Vielen Dank, und nächstes Mal werde ich deutlich länger suchen bevor ich 
schreib... hatte mir meinen Start hier etwas anders vorgestellt... aber 
naja shit happens!

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.