Share via


Virtual COM Port Sample (Windows Embedded CE 6.0)

1/6/2010

The Sca sample application illustrates the use of the Windows Embedded CEā€“based Bluetooth stack over the Virtual COM Port interface.

The compiled sample generates an Sca.exe application that can be started as server or client. When started as server, it creates a server COM port and waits for connections. When started as client, it creates a client COM port and initiates a connection. Once a connection is established, users can exchange text messages or files.

For more information, see Creating a Connection to a Remote Device Using a Virtual COM Port.

To view supported command line options, use SCA /?

Usage

sca server <rfcomm_chnl> <com_port>
sca client <server_bt_addr> <rfcomm_chnl> <com_port>

Remarks

The following table describes the parameters needed when using the SCA sample application.

Parameters Description

server_bt_addr

Bluetooth address of the server.

rfcomm_chnl

RFCOMM channel (between 1 and 31).

com_port

COM port to be assigned to Bluetooth.

Explanation

When the client or server starts, it creates a COM port to associate with the Bluetooth stack in the following manner.

HANDLE h = RegisterDevice (L"COM", index, L"btd.dll", (DWORD)&pp);

For the client, the Bluetooth server address (pp) is passed into the pp.device member in the PORTEMUPortParams structure.

For the server, the pp.flocal member must be set to TRUE.

If the COM port is created successfully, the port can be opened for communication using standard APIs in the following manner.

HANDLE hCommPort = CreateFile (
                   szComPort,
                   GENERIC_READ | GENERIC_WRITE,
                   0, NULL, OPEN_EXISTING, 0, NULL
                  );

A WriteThread and ReadThread are created to manage the data over the COM port in the following manner.

CloseHandle (CreateThread(NULL, 0, ReadThread, (LPVOID)hCommPort, 0, NULL));
WriteThread ((LPVOID)hCommPort);

The WriteThread sends data, entered by the user, over the virtual COM port, while the ReadThread, on the listening device, displays the received data on the screen.

Sample Location

**%_WINCEROOT%*\*Public\Common\Sdk\Samples\Bluetooth\Sca

Note

This sample application has not been thoroughly tested and is not intended for production use.

See Also

Concepts

Bluetooth Application Development Samples
Bluetooth Samples

Other Resources

Bluetooth Application Development