Forum: Mikrocontroller und Digitale Elektronik zeichen werte Schrift über USART an den pc weitergeben ?


von Onkel (Gast)


Lesenswert?

Da bin ich schon wieder... jeden tag was neues.

Heute möchte ich über einen D-9 stecker signale an den PC weitergeben 
(hyper Termial).
egal ob das text oder zahlen sind. (müsste ja beides gehen oder?)

habe schon versucht über sprut.de bzw fernando heitor die lösung zu 
finden, doch irgendwie habe ich mal wieder ein brett vor'm kopp.
bei sprut gibt es sogar einen kompletten code, aber

a) verstehe ich ihn nicht
b) funktioniert er nicht (zumindest nicht durch simples copy & paste)

von Tante (Gast)


Lesenswert?

Hallo Onkel,

a) Was genau verstehst Du nicht? Was hast Du bisher versucht ( außer 
copy & paste )

b) Was genau funktioniet nicht?

Außerdem wäre interssant welchen µC Du verwendest, Schaltung usw ...

Gruß
Tante

von Gast (Gast)


Lesenswert?


von Onkel (Gast)


Lesenswert?

PIC 16F877

naja was ich versucht habe war nicht wirklich richtig, also bin ich auf 
sprut gegangen habe versucht den code zu verstehen jedoch fehlt mir da 
scheinbar das hintergrundwissen afjeden fall konnte ich die bit's und 
bt's irgendwann nichtmehr so richtig verfolgen ^^

eigentlich sollte der pic über die USART schnittstelle signale (d.h. 
schrift oder zahlen) an den PC senden der diese über das Hyperterminal 
empfängt.

von Karl H. (kbuchegg)


Lesenswert?

Onkel schrieb:
> PIC 16F877
>
> naja was ich versucht habe war nicht wirklich richtig, also bin ich auf
> sprut gegangen habe versucht den code zu verstehen jedoch fehlt mir da
> scheinbar das hintergrundwissen

Dann wirst du dir das wohl aneignen müssen.
Von nichts kommt nichts und niemandem fällt dieses Wissen in den Schoß.

> eigentlich sollte der pic über die USART schnittstelle signale
> (d.h. schrift oder zahlen)

So wie du das beschreibst, ist das Alles einfach nur Text. Aus einer 
Zahl 1245 kann man den dazu 'gleichwertigen' Text "1245" erzeugen und 
den dann als ganz normalen Text per USART verschicken. Hyperterminal 
interessiert sich nicht dafür, was der Text bedeutet, den es anzeigt. Ob 
es jetzt den Text "Hallo Welt" oder "hdnbfiwneic" oder "8976.45" 
hinpinselt, ist dem sowas von egal. Erst dein Gehirn interpretiert die 
Zeichenfolge "123" wieder als die Zahl Einhundertdreiundzwanzig.

Geh in Schritten vor.
Zuerst musst du die USART mal konfigurieren. Da werden irgendwelche 
Konfigurationsregister beteiligt sein, in denen Bits zu setzen oder zu 
löschen sind. Wichtig ist, dass die Baudrate stimmt.
Dann beschäftigst du dich nur damit, mal ein einzelnes Zeichen über die 
USART zu übertragen (da kannst du dann auch gleich mal die ASCII Tabelle 
studieren).
Kannst du 1 Zeichen übertragen, dann kannst du schon mal einen Text 
übertragen, indem du ihn Zeichen für Zeichen überträgst.
Kannst du das, dann ist der nächste Schritt, sich eine Routine zu bauen, 
die einen Text annimmt (dazu musst du dir im klaren sein, wie man Texte 
speichern kann) und diesen Text überträgt.
Wenn du soweit bist, ist der nächste Schritt, eine Funktion zu bauen, 
die eine Zahl annimmt, die textuelle Repräsentierung davon bestimmt und 
diese Zeichen für Zeichen per USART verschickt.

Aber alles fängt damit an, dass man ein einzelnes Zeichen übertragen 
kann. Daher ist das dein erstes Teilziel.

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.