|
| Events fra COM port Fra : Bjoern |
Dato : 20-05-06 17:13 |
|
Hej
Jeg forsøger at skrive et program til Windows som skal fungere som en
Walkie-Talkie, hvor jeg gerne vil have et event når der lukkes mellem
to pins på COM porten og ligeledes et event når der åbnes mellem de
to pins igen. Altså når der holdes nede på en knap får jeg et event
og når jeg slipper knappen får jeg et event. Nogen der ved hvilke
pins jeg kan benytte til det? Jeg benytter WaitCommEvent(...) til at
afvente events.
Mvh
Bjørn
| |
Ukendt (21-05-2006)
| Kommentar Fra : Ukendt |
Dato : 21-05-06 21:49 |
|
> Jeg benytter WaitCommEvent(...) til at
Rs232 kommunikation gennem win32 apiet. Tjaa , det bør kunne virke. Læs
eksemplerne på msdn, så kan du helt sikkert få noget til at virke.
Vær opmærksom på at der er et eksempel i msdn hvor de lader én tråd stå og
vente på input, og så fyrer de bare tx karakterer af direkte i f.eks. button
handleren. Det duer kun i 9x kernen (95,98,me) ikke i NT kernerne (NT , XP,
server 2003). Det fremgår/fremgik ikke af eksemplet sidst jeg checkede.
Lige mht seriel kommunikation med rs232 synes jeg det var lækkert at
programmere i dot net 2.0 med VS express og bruge den serielle komponent.
Alternativt kan du sikkert finde nogle dll wrappers til windows på nettet.
tpt
| |
Henrik [6650] (24-05-2006)
| Kommentar Fra : Henrik [6650] |
Dato : 24-05-06 20:14 |
|
>"Bjoern" <bjoern.d.rasmussen@gmail.com> wrote in message
>news:1148141593.774521.233880@i39g2000cwa.googlegroups.com...
>Hej
>
>Jeg forsøger at skrive et program til Windows som skal fungere som en
>Walkie-Talkie, hvor jeg gerne vil have et event når der lukkes mellem
>to pins på COM porten og ligeledes et event når der åbnes mellem de
>to pins igen. Altså når der holdes nede på en knap får jeg et event
>og når jeg slipper knappen får jeg et event.
Hvis du sætter f.eks RTS:
BOOL CMyComClass::SetRTS(BOOL bStatus)
{
return EscapeCommFunction(m_hCommDev, bStatus ? SETRTS : CLRRTS);
}
Og så "lytter" på en af de tilgængelige inputs. F.eks CTS:
if(dwEvtMask & EV_CTS) // dwEvtMask er andet argument fra din
WaitCommEvent(...)
{
// Handle this event
}
Så kan du kortslutte RTS og CTS i din COM port og få event på det.
Mvh
Henrik
| |
|
|