AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi serielle schnittstelle Ich versteh nur bahnhof
Thema durchsuchen
Ansicht
Themen-Optionen

serielle schnittstelle Ich versteh nur bahnhof

Ein Thema von snow · begonnen am 21. Aug 2007 · letzter Beitrag vom 22. Aug 2007
Antwort Antwort
Seite 1 von 3  1 23      
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#1

serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 16:23
Hallo

ich würde gerne die serielle schnittstelle ansteuern. (2400bit ,2Stopbits,8datenbits, keine parität,)

dabei möchte ich blos ein byte senden.

es handelt sich um COM1

ich habe übrigens die suche benutz aber ich versteh nur bahnhof. Unter delphi muss man irgend was installieren???? aber manches kostet geld manches nicht???? Es kann doch nicht so schwer sein die schnittstelle anzusprechen , schließlich schafft BASIC das mit 3 zeilen quelltext.

kann mir jemand mal erklären wie ich blos ein byte versenden kann???

MfG snow

Ach ja ich nutze lazarus macht das probleme?
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#2

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 16:40
Hallo,

such mal hier im Forum nach Comport oder Com und Komponente. Für das Ansprechen der Com-Schnittstelle gibt es einige freie Komponenten im Netz. Damit müßtest du dann weiter kommen.

Gruß oki
42
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#3

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 17:04
naja wirklich helfen tut das nicht. ich hab mir synapse geladen aber 1. wie soll man diese komponente installieren??(lazarus)
2. das sind ganz schön viele units nur um was zu senden. wiso brauch ich das so viele.

ich check einfach nicht wie die pakete installieren soll und wie ich dann so was wie baudrate einstellen kann und wie ich dann etwas senden kann.

gibt es nicht auch eine lösung einfach nur ein qbasic program versteckt aufrufen zu lassen und dem dann befehler auf irgendeinem port zuzustecken???

mfG snow
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 17:54
Schau dir mal CPort an
Delphi-Quellcode:
uses CPort, CPortCtl

// ...

var
  ComPort: TComPort;

// ...

  ComPort := TComPort.Create(self);
  ComPort.OnRxChar := ComPortRxChar; // Ereignis wenn Bytes empfangen werden

  ComPort.ShowSetupDialog;

  ComPort.Open;

  ComPort.WriteStr('A'); // 'A' Senden

  if ComPort.Connected then
    ComPort.Close

// ...

procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  S: String;
begin
  ComPort.ReadStr(S, Count);
  showmessage('Das hier hab ich empfangen: ' + S);
end;
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#5

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 18:12
Hallo ich habs mal runtergeladen un entpakt.

so dann hab ich eine neue unit gebastelt und die beiden teile von dir im uses teil dazugepakt.

dann noch deinen quelltext dazu und mal F9 gedrükt.

jetzt bekomm ich einen ressourcen-ladefehler
Zitat:
Die alte ressourcendatei konnte nicht geladen werden.
Die ressourcendatei ist die erste include-datei im initialisierungsabschnitt.

z.B Unit1.lrs
wenn ich dan auf datei überspringen klicke dann kommt

Zitat:
---------------------------------------------
unit1.pas(22,11) Error: : erwartet aber := gefunden
Unit1.pas(1,1) Fatal: Can't find unit CPort
wo liegt mein fehler?

MfG snow
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 18:17
Hi Snow,

Sorry, hab das mit lazarus glatt übersehen.

Das Problem ist, dass du an die COM-Schnittstelle nicht so einfach wie früher rankommst (Interrupt, Register). Basic stellt dir da auch nur eine Klasse zur Verfügung. Ist halt nur dabei (glaub ich). Bei Delphi (ich denke auch bei Lazarus) ist eine Klasse (oder Komponente) für den Zugriff auf die serielle Schnittstelle leider nicht von Hause aus enthalten. Aus diesem Grund mußt du eine entsprechende Klasse (Komponente) zusätzlich installieren. Zum Glück gibt es da ne Menge gute freie Sachen (ohne Geld). Wie so eine Installation unter Lazarus abläuft, weiß ich leider nicht. Wenn du hier im Forum nichts dazu findest, schau mal im Forum für Lazarus nach.

Ist bei deinem Download kein readme dabei?

Der Link von dominikkv ist zwar gut, aber so wie es aussieht nur für Delphi und nicht für Lazarus. Ob unter Lazarus auch funzt kann ich nicht sagen. Glaub aber nicht.

Schau mal, ob dir dieser Link für das Installationsproblem oder das Finden geeigneter Kompos weiterhilft Lazarus_Documentation

Tut mir leid, dass ich doch nicht viel helfen konnte,

Gruß oki
42
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#7

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 18:31
Zitat von oki:
Hi Snow,

Sorry, hab das mit lazarus glatt übersehen.

Das Problem ist, dass du an die COM-Schnittstelle nicht so einfach wie früher rankommst (Interrupt, Register).
...
Gruß oki
Hallo oki,

das ist überhaupt nicht der Punkt - es wäre ja hirnrissig, die serielle Schnittstelle als Hardware anzusprechen, und natürlich geht das unter keinem modernen Betriebssystem, darf auch nicht.

Ebenso selbstverständlich kann man ein COM-Port unter Windows ansprechen, und zwar als Datei mit CreateFile, WriteFile und CloseHandle wie bei einer anderen Datei auch.

Wie gesagt - mit Hardwarezugriffen und Protected Mode hat das nicht das geringste zu tun.

Gruss Reinhard
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#8

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 18:46
Zitat:
Hallo oki,

das ist überhaupt nicht der Punkt - es wäre ja hirnrissig, die serielle Schnittstelle als Hardware anzusprechen, und natürlich geht das unter keinem modernen Betriebssystem, darf auch nicht.

Ebenso selbstverständlich kann man ein COM-Port unter Windows ansprechen, und zwar als Datei mit CreateFile, WriteFile und CloseHandle wie bei einer anderen Datei auch.

Wie gesagt - mit Hardwarezugriffen und Protected Mode hat das nicht das geringste zu tun.
ja und wie geht das??

mir ist es eigendlich egal wie die bytes gesendet werden ob direkt oder durch das betriebssytem.

das einzige was später machbar sein muss ist das ich die CTS leitung abfragen kann.

du schreibst das hier so locker hin aber ich hab KEINE ahnung. wi heist den der Dateiname und wiso create? ich kann die doch nicht herstellen sondern nur öffnen.

könntest du mir ein paar code-schnipsel reinposten?? nur wie ich senden kann.

MfG snow
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#9

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 19:13
Mist, hab mir grad meinen Beitrag zerschossen.

Halt noch mal von vorn.

@Reinhardt: Da hab ich mich wohl sehr missverständlich ausgedrückt. Ich wollte vermeiden, dass snow bei seiner Suche auf ältere Codeschnipsel mit Registern und Interrupts stösst. Eine Analogie zu VB oder ähnlichem solle das nicht sein.

Imho glaube ich nicht, dass snow mit CreateFile klar kommt (kann mich auch irren).

@snow: Schau dir doch mal den Link zur Lazarus-Dokumentation an. Dort gibt es weitere Links zu:
Hardware Access
und dort auf entsprechende Tutoriels:
Zitat:
Serielle Kommunikation

Der Externe Links Abschnitt enthält UNIX und Windows Tutorials über den seriellen Anschluß.
Dort müsstest du eigentlich mit deinem Problem weiter kommen.

Also bitte mal lesen.

Gruß oki
42
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#10

Re: serielle schnittstelle Ich versteh nur bahnhof

  Alt 21. Aug 2007, 19:17
Ich schätze das du die CTS Leitung nur abfragen willst/musst um zu wissen wann du wieder was senden darfst. Clear to send imho.
Wenns das ist mach dir da keine Sorgen das macht Windows/Linux theoretisch schon allein.


ADD: schau mal bei den schweizern swissdelphicenter.ch da gibts genau die Codeschnippsel die du brauchst
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 10:09 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