diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-D30B09D1-6537-58B4-B94E-13EAD5A28EE0.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-D30B09D1-6537-58B4-B94E-13EAD5A28EE0.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,76 @@ + + + + + +How +to Configure the Speed and Data Format: TutorialThis tutorial shows the basic steps to perform any serial port +configuration through the RComm API. + +Load the CSY and +open a port. + +Get the capabilities +of the port by calling RComm::Caps() + +The capabilities +of the port are in the TCommCaps structure. For example, TCommCapsV01.iStopBits specifies +the number of stop bits the port can manage. +Note: Port capabilities are never exclusive. A port that can manage +a speed of 50 bps may also be able to manage faster speeds as well. Most fields +in TCommsCaps are bit fields which bitmasks must be used +to determine all the capabilities. An example bitmask for the TCommCapsV01.iRate field +is KCapsBps19200. +These same fields in the configuration class TCommConfig are +enumerations. For example, TCommCapsV01.iRate is a TUint since +it is a bitfield. TCommConfigV01.iRate is an enumeration +of type TBps. + + +Create an object of type TCommConfigV01. + + +Call RComm::Config() with the aConfig parameter +set to the TCommConfigV01 object to get the port configuration. + + +Set the fields that must be changed in the TCommConfigV01 object. +For example, set the iSIREnable flag to enable Infrared. + + +Call RComm::Config() with the TCommConfigV01 object +as the aConfig parameter. +The port is now configured. +

Tip: In cases where the application is written for a specific +device, the application may skip the capability check since the capabilities +are known at the time of manufacture.

+
+
+Example

The following code uses Caps() to +find out if its desired port configuration of 19200 bps and 8 data bits with +no parity and one stop bit is possible:

TCommCaps ourCapabilities; +commPort.Caps (ourCapabilities); + +if (((ourCapabilities ().iRate & KCapsBps19200) == 0)|| + ((ourCapabilities ().iDataBits & KCapsData8) == 0)|| + ((ourCapabilities ().iStopBits & KCapsStop1) == 0)|| + ((ourCapabilities ().iParity & KCapsParityNone) == 0)) + User::Leave (KErrNotSupported) ; +

The following code configures the speed settings for a port.

TCommConfig portSettings; +commPort.Config (portSettings); +portSettings ().iRate = EBps19200; +portSettings ().iParity = EParityNone; +portSettings ().iDataBits = EData8; +portSettings ().iStopBits = EStop1; +r = commPort.SetConfig (portSettings); +User::LeaveIfError (r);
+
+GlassTerm +- glass teletype terminal +
\ No newline at end of file