AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TComPort Problem

Ein Thema von Muellermilchtrinker · begonnen am 4. Nov 2010 · letzter Beitrag vom 5. Nov 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#1

TComPort Problem

  Alt 4. Nov 2010, 15:55
Hallo DP,

ich probiere gerade mit TComport von hier einen String über RS232 zu senden.
Ich mache das so:
comport1.writestr('&B00110011'); Comport wurde davor geöffnet. Daneben überwache ich das noch über die im Paket enthaltene Terminalkomponente. Doch leider schickt mein Delphiprogramm, wenn ich es so mit dem Code oben mache nur &B.
weiß auch nicht warum. Kann mir jmd. helfen? Wäre echt nett.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: TComPort Problem

  Alt 4. Nov 2010, 16:25
Bei TComport kann soviel eingestellt werden daß es manchmal mühssm ist die richtige Einstellung für empfindliche Geräte zu finden.
Vielleicht hast Du auch nur ein Unicodeproblem, nimm AnsiStrings.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
LargoD

Registriert seit: 8. Jun 2007
42 Beiträge
 
#3

AW: TComPort Problem

  Alt 4. Nov 2010, 17:05
Zeig mal Deine Einstellungen oder ein Stück Kode.
Als Hinweis:
Für erste Versuche Flowcontrol ausschalten
Gruß
Erich
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

AW: TComPort Problem

  Alt 4. Nov 2010, 17:21
Ich weiss nicht, ob du das schon getan hast, aber es gibt bei RS232 etwas Wichtiges zu beachten.
Teste die RS232-Verbindung mit einem Terminalprogramm (z.B. Hypherterminal)!!

Dazu die Kommandos in eine TXT-Datei speichern und mit ASCII-Transfer (Hypherterm: Übertragung->Textdatei senden) wegschicken.
Erst wenn das funktioniert hat, sprich wenn du erfolgreich Kommandos in deinen Controller übertragen hast, darfst du mit der TComPort Komponente arbeiten.

Bei RS232 können so viele Dinge schiefgehen, dass es sehr ungeschickt wäre, nicht zuvor einen Test mit einem Terminalprogramm durchzuführen.

Dies gilt überigens für jede Art von Kommunikation (TCP/IP, UDP, HTTP, SOAP,...).
Man beginnt immer mit einem fertigen Client und geht dann erst zum eigenen Programm über.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#5

AW: TComPort Problem

  Alt 4. Nov 2010, 17:23
Mit einem Terminalprogramm funktioniert auch alles. Damit hab ich alles getestet und damit die Software für den AVR entwickelt.
Im Terminalprgramm sieht es so aus:
Code:
feld>2
muster>&B00110011
Und funktioniert auch.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: TComPort Problem

  Alt 4. Nov 2010, 17:38
Mit einem Terminalprogramm funktioniert auch alles
Gut. Bei TComport ist doch auch ein Beispielprojekt MiniTerm dabei.
Wie sieht's denn damit aus?
Da kannst das Projekt auch in ein anderes Verzeichnis kopieren und dann zum Test an deine Belange anpassen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#7

AW: TComPort Problem

  Alt 5. Nov 2010, 12:43
Mit dem Beispiel klappts auch. Doch ich möchte das nicht mit der Terminalkomponente machen sondern einfach nur mit Comport.
So ist mein Code vom Button:
Delphi-Quellcode:
var s:ansistring;
begin
comPort1.Write(pchar(edit1.Text),1);
comport1.Write(#13,1);
s := ansistring(edit2.Text);
comport1.WriteStr(s);
comport1.Write(#13,1);
Edit1.Text = 2
Edit2.Text = &B00110011

Im Terminal siehts dann so aus:
Code:
feld>2
muster>&B
feld>
Aber bei Muster sollte der ganze Text ausm Editfeld stehen.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: TComPort Problem

  Alt 5. Nov 2010, 13:15
Bei Write heißt der 2. Parameter (wo Du die 1 übergibtst) "Count". Ich vermute, dort wird die Länge des Strings erwartet:
comPort1.Write(pchar(edit1.Text),length(edit1.text));
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#9

AW: TComPort Problem

  Alt 5. Nov 2010, 13:17
Bei genauer hinschauen hättest du gesehen, dass das nicht an write liegt sondern erst bei writestr und die ist anders aufgebaut
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
526 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: TComPort Problem

  Alt 5. Nov 2010, 13:56
Ich hab jetzt nicht alles genau durchgelesen.
Aber - handelt es sich hier um ein ASCII-Protokoll?
Denn nur dann kannst Du WriteString() anwenden.
Also kann der Empfänger (was oder wer ist das überhaupt?) ASCII interpretieren?.

Edit: Satz zu Ende geschrieben.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz