/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Initiering af COM port
Fra : ~*~ Mivi ~*~


Dato : 17-09-01 13:00

Hej

Hvordan initiere jeg nemmeste en COM port til:

-1200 baud
- Even parity
- 7 databit
- 1 stopbit

Jeg har et program, som skal kommunikere med et apparat tilsluttet en COM
port.
I enkelte tilfælde får jeg følgende fejl:

Cannot set state of COM 1.


Efterfølgende har jeg et program (som jeg ikke selv har lavet), som kun
initiere en given COM port til ovenstående.
Og bagefter virker mit program perfekt.
Derfor vil jeg gerne kunne initiere porten selv i mit program.

På forhånd tak

Michael






 
 
Roald Henriksen (17-09-2001)
Kommentar
Fra : Roald Henriksen


Dato : 17-09-01 23:46

Har du kigget på komponenten Async32?
Mvh RH




~*~ Mivi ~*~ (18-09-2001)
Kommentar
Fra : ~*~ Mivi ~*~


Dato : 18-09-01 07:19

Ja, men det koster jo penge.
Og det eneste jeg skal, er at have initieret porten først.
Resten har jeg allerede lavet !

Michael


"Roald Henriksen" <mail@pentagon-electric.dk> wrote in message
news:Y2vp7.5517$lk7.115946@news.get2net.dk...
> Har du kigget på komponenten Async32?
> Mvh RH
>
>
>



Thomas Riedel (18-09-2001)
Kommentar
Fra : Thomas Riedel


Dato : 18-09-01 11:06

Her er noget gammel kode flyttet fra 16 til 32 bit

var cid : integer;

procedure initcomm;
var comtext,comport : string;
pc : array [0..100] of char;
Rob : PSecurityAttributes;
begin
comtext :=
'COM1, 1200, e, 7, 1';
comport := copy(comtext,1,4);
StrPcopy(pc,comport);
new(rob);
Rob.lpSecurityDescriptor := nil;
Rob.nlength := 12;
Rob.bInheritHandle := FALSE;

CId := CreateFile(pc,
GENERIC_WRITE,
0,
Rob,
OPEN_EXISTING,
FILE_attribute_normal,
0);


if cid < 0 then
begin
exception.create('Error open COM port');
end;
StrPcopy(pc,comtext);
if not BuildCommDCB(pc,dcb) then
begin
raise exception.create('Error in initstring');
end;
if not SetCommState(cid, dcb) then raise exception.create('Error setting
comport');

// lukkes igen med closehandle(cid);

end;



--
Thomas Riedel, LogiHouse
"~*~ Mivi ~*~" <mivi@occdata.dk> wrote in message
news:xHBp7.18924$sk1.604056@news010.worldonline.dk...
> Ja, men det koster jo penge.
> Og det eneste jeg skal, er at have initieret porten først.
> Resten har jeg allerede lavet !
>
> Michael
>
>
> "Roald Henriksen" <mail@pentagon-electric.dk> wrote in message
> news:Y2vp7.5517$lk7.115946@news.get2net.dk...
> > Har du kigget på komponenten Async32?
> > Mvh RH
> >
> >
> >
>
>



Jeppe Seidelin Dam (19-09-2001)
Kommentar
Fra : Jeppe Seidelin Dam


Dato : 19-09-01 12:12

[..En masse COM-port halløj..]
> Efterfølgende har jeg et program (som jeg ikke selv har lavet), som kun
> initiere en given COM port til ovenstående.
> Og bagefter virker mit program perfekt.
> Derfor vil jeg gerne kunne initiere porten selv i mit program.

Jeg har selv med stor succes brugt komponenten AsyncFree til at styre et
apparat via comporten. Det var nogenlunde nemt at gå til.

mvh
Jeppe Seidelin Dam



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste