Forum: PC-Programmierung UART in Delphi


von icke (Gast)


Lesenswert?

Hallo

Ich suche eine einfache Variante um mit dem uC zu "quatschen". auf dem 
uC übergebe ich die Daten einfach einer Funktion aber auf dem PC hab ich 
Probleme.

kennt jemand ein fertigen Code den man nur mit Parametern füttert?

von Purzel H. (hacky)


Lesenswert?

Zieh dir die TPApro Library von Sourceforge runter.
http://sourceforge.net/projects/tpapro/

von WEIF (Gast)


Lesenswert?

eine etwas einfacher gebaute Lib :

http://sourceforge.net/projects/comport/files/

Ciao

WEIF

von icke (Gast)


Lesenswert?

Ich hab zwar ständig ne Fehlermeldung bekommen beim versuch comport zu 
compilieren aber fluchen und das abstürzen des PC hat geholfen das es 
jetzt doch klappt. ( ist halt Win-dof )


Danke

von qwertz (Gast)


Lesenswert?

Versuch es mit createfile und openfile. Eigentlich ist es trivial.

von Purzel H. (hacky)


Lesenswert?

Tatsaechlich ? Ein blockerendes Blockdevice auf ein asynchrones 
streamdevice drauflegen ist etwas vom Duemmsten das man sich vorstellen 
kann. Ein fehler von Windows.

Ich hatte mal ein Device das hat zwischen dem Protokol die Baudrate 
gewechselt, mit dem Changebaudrate Command. dia Antwort kam dann in der 
neuen Baudrate. Jeder, der ein UART mal angesprochen hat, weiss es sind 
2 Register, die geschrieben werden muessen. WinNT4 brauchte fuer diesen 
Vorgang 1.7 Sekunden. Und dies nicht weil die Rechner damals nur 166MHz 
machten... das ging dann eben nicht.

von Reinhard Kern (Gast)


Lesenswert?

Nebliger Pfad schrieb:
> Tatsaechlich ? Ein blockerendes Blockdevice auf ein asynchrones
> streamdevice drauflegen ist etwas vom Duemmsten das man sich vorstellen
> kann. Ein fehler von Windows.

Hi,

ich dachte bisher immer, Blockdevice käme von den Datenblöcken, die als 
kleinste Einheit gelesen/geschrieben werden, wie etwa Sektoren auf 
Platten. Solche gibt es aber bei einer seriellen Schnittstelle nicht, 
folglich benutzt du eine andere Definition. Könntest du das mal näher 
erläutern?

Gruss Reinhard

von Purzel H. (hacky)


Lesenswert?

Ja. Ein Blockdevive kommt von den Sektoren. Ungeachtet dessen kann man 
auch einzelne Bytes lesen und schreiben, allerdings mit Hilfe der Seek 
funktion.

Ein fopen ist doch automatisch ein file. Nein ?

von Gerry E. (micky01)


Lesenswert?

Nebliger Pfad schrieb:
> Ja. Ein Blockdevive kommt von den Sektoren. Ungeachtet dessen kann man
> auch einzelne Bytes lesen und schreiben, allerdings mit Hilfe der Seek
> funktion.
>
> Ein fopen ist doch automatisch ein file. Nein ?

Ja, ist es, wenn erfolgreich durchgeführt.
Zum Leidwesen der Programmierer kann man damit unter Windows aber keine 
serielle Schnittstelle aufmachen.

Dafür gibt es Createfile: das liefert ein HANDLE, erst wenn man das hat 
kann man denken man hätte ein FILE.

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.