23. august 2001 - 16:18Der 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.
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.
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...
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.
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.
Det har ikke lykkedes mig at finde mscomm componenten. Derfor lukkes spm. da jeg har opgivet den og fundet en anden komponent.
Synes godt om
Ny brugerNybegynder
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.