Avatar billede loproc Praktikant
23. august 2001 - 16:18 Der er 14 kommentarer og
1 løsning

Brug af Com eller LPT port

Hejsa!
Jeg skal have lavet et lille program der reagerer ved at køre en procedure, ved signal på enten com eller lpt porten. Det ville være rarest om det kunne blive com-porten.
Avatar billede hlj Nybegynder
23. august 2001 - 16:36 #1
Jeg bruger COM porten til at hente signaler ind i et Delphi program. Jeg bruger den OCX komponent der hedder enten MSCOMCTL.OCX eller mscomm32.ocx.

Man skal vist nok importere den i Delphi.

Så har jeg tre signal indgange tilrådighed, CTS, DSR og CD.

De hedder i MSComm komponenten CTSHolding, DSRHolding og CDHolding.

CTS er på pin 8
DSR er på pin 6
CD er på pin 1
GND er på pin 5

Jeg bruger et +12V som true signal og 0V som false.

I Delphi bruger jeg en timer til at aflæse propertierne efter jeg har åbnet porten.

Alt det el-tekniske er på eget ansvar.

Jeg håber at du kan bruge dette ellers må du skrive igen.
Avatar billede loproc Praktikant
23. august 2001 - 17:15 #2
MSCOMCTL.OCX og MSCOMM32.OCX er Windows Common Controls...
Det dur jo ikke :)
Avatar billede seiofecco Nybegynder
24. august 2001 - 08:13 #3
Du kan åbne serielportene (COM portene) ved benytte Windows API kald. Det er absolut ikke let, men hvis du har mod på det, hjælper jeg gerne list.
Du kan starte med at læse om CREATEFILE() i WindowsSDK hjælpefilen.
Avatar billede hlj Nybegynder
24. august 2001 - 10:30 #4
loproc> Hvorfor duer de ikke ? Det virker udemærket hos mig. Har du specielle krav ?
Avatar billede cautoo Nybegynder
24. august 2001 - 18:39 #5
lytter...

hvis email er nødvendigt: dennis.ssh@computer.dk
Avatar billede loproc Praktikant
25. august 2001 - 12:28 #6
hlj > hvordan importerer jed den? Jeg kan ikke finde andet end Windows Common Controls der hedder MSCOMCTL.OCX eller MSCOMM32.OCX

seiofecco > Hvor finder jeg en Windows SDK hjælpefil? Den følger i hvert fald ikke med Delphi 6 Personal...
Avatar billede loproc Praktikant
25. august 2001 - 12:29 #7
Forresten vil jeg meget gerne om programmet kan blive handlingsorienteret. Det vil sige at jeg vil være ked af at have en timer der poller porten... Så langt helere at programmet reagerer med en procedure...
Avatar billede seiofecco Nybegynder
26. august 2001 - 18:29 #8
Hvis du bruger API kald kan du få en event når du moftaget et bestemt tegn, som du har valgt til at markere slutninghen af dit telegram, eller en event når du har modtaget et bestemt antal tegn. Problemerne med disse metoder er at de ikke tager højde for støj. Er det et problem her?
Når du åbner COM portene med CREATFILE() skal du også sette nogle timeouts op. Du får også en event hvis der der så kommer timeout.
Avatar billede loproc Praktikant
26. august 2001 - 23:02 #9
Det bliver for avanceret hardwaremæssigt hvis jeg skal sende tekst... Jeg skal bare give nogle signaler (Se første svar fra hlj)
Avatar billede hlj Nybegynder
27. august 2001 - 17:09 #10
Jeg har importeret Microsoft Comm Control 6.0 (TMSComm) ActiveX control in i Delphi  via Components - Import ActiveX.

Jeg har ikke prøvet om/hvilke signal der evt. udløser en event i MSComm. Det må jeg lige kigge på imorgen.
Avatar billede loproc Praktikant
27. august 2001 - 18:44 #11
Lyder godt!
Avatar billede hlj Nybegynder
28. august 2001 - 09:13 #12
De ovenstående indgange, CTS, DSR og CD fremkalder alle en OnComm event i MSComm komponenten.

Som <seiofecco> bemærker kan der komme støj/prell, hvis indgangen ikke er ordentlig afkoblet. Jeg lagde en +12V signal på CD indgangen, med en ledning, og jeg kunne så se at min event tæller gav mig ca. 70 events på ca. 2 sek. Det er selvfølgelig fordi der ikke kommer en ordentlig sikker forbindelse. Mine optiske sensorer giver en event når den bliver aktiveret og en når den bliver deaktiveret. Sensorer med elektroniske udgange give næste aldrig prell, hvor imod kontakter, relæer, osv. sagtens kan give mange pulser (prell) inden signalet er fast. Det er muligt at lave et filter i indgangen til at fange/reducere disse prell pulser, afhængig af hvad det skal bruges til.
Avatar billede cms Nybegynder
28. august 2001 - 17:29 #13
prøv ellers at kikke her:
http://www.torry.net/modems.htm

der er masser af forskellige spændende komponenter, der kommunikerer med comporten(e)
Avatar billede loproc Praktikant
29. august 2001 - 23:29 #14
Jeg kan ikke finde MSComm komponenten... Er der en der vil være så rar at sende OCX filen til mig? (htx99a06@gts.dk)
Avatar billede loproc Praktikant
05. december 2001 - 09:38 #15
Det har ikke lykkedes mig at finde mscomm componenten. Derfor lukkes spm. da jeg har opgivet den og fundet en anden komponent.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester