mikrocontroller.net

Forum: PC-Programmierung UART in Delphi


Autor: icke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Zwölf Mal Acht (hacky)
Datum:

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

Autor: WEIF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine etwas einfacher gebaute Lib :

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

Ciao

WEIF

Autor: icke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: qwertz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch es mit createfile und openfile. Eigentlich ist es trivial.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Gerry E. (micky01)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.