Symbian3/SDK/Source/GUID-934AEB9C-77EA-5F50-BB84-2446DDD432C8.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE task
  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="GUID-934AEB9C-77EA-5F50-BB84-2446DDD432C8" xml:lang="en"><title>How
to Send Data: Tutorial</title><shortdesc>This tutorial describes how to send and receive data with the Serial
Communications Server.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
<context><p>This tutorial follows the tutorial How to Open a Port:  Tutorial<xref href="GUID-5D47DBF8-3DFE-5D0B-95B2-63302E91C423.dita">How to Open a Port: Tutorial</xref>. </p></context>
<steps id="GUID-14170AC4-DD56-51C8-A7AD-CCE01EBBD398">
<step id="GUID-E372C9DD-1344-5452-ABFD-9EF5AA070906"><cmd/>
<info>All data sent from the serial device is 8-bit even on a Unicode system. </info>
<info>Create a <xref href="GUID-FB97E0A3-352A-316F-97C6-69E4741A8120.dita"><apiname>TDesC8</apiname></xref> Descriptor and fill the Descriptor
with the data to send. </info>
</step>
<step id="GUID-74FDE5FB-22A4-509B-B52D-34F80BEA43EB"><cmd/>
<info>Create a request object of type <xref href="GUID-E0B34F3E-D4C4-3232-B8B1-7DB35B454646.dita"><apiname>TRequestStatus</apiname></xref>. </info>
</step>
<step id="GUID-79A3BCD9-8ACB-54C4-BE42-A34B464FD002"><cmd/>
<info>Call <xref href="GUID-3B4E8ED5-72F7-3E51-B188-3C1045526DDF.dita#GUID-3B4E8ED5-72F7-3E51-B188-3C1045526DDF/GUID-27B1F841-8478-33E0-A168-11DC468183C0"><apiname>RComm::Write()</apiname></xref> and set the <codeph>aDes</codeph> parameter
as a reference to the Descriptor, and set the aStatus parameter to the request
object. </info>
<info>The RComm API does not allow another request to be made until the first
request has completed. </info>
</step>
<step id="GUID-C66DC52F-6C68-5E82-A321-9646E20130B6"><cmd/>
<info>The write request completes when the last character in the supplied
buffer has been written to the serial hardware. There are three alternative
ways the write request can complete: </info>
<info><p><ol>
<li id="GUID-4A9FF6B3-C625-4A3B-97E7-087F90CA3C93"><p>If the <codeph>aTimeOut</codeph> parameter
was set with the <codeph>RComm::Write()</codeph> function then the request
completes with <xref href="GUID-BAC2386E-8168-3CDB-9F9F-180319EF6920.dita"><apiname>KErrTimedOut</apiname></xref> if the Descriptor was not filled
during the <codeph>aTimeOut</codeph> time. </p></li>
<li id="GUID-3FED3BEA-C65E-4F0C-8046-9A0D2D9C072B"><p>If the write request
is in progress, the write request can be cancelled by calling <xref href="GUID-0F0DE6EC-8525-3D7C-96A7-5328FB78A53C.dita"><apiname>WriteCancel()</apiname></xref>. </p></li>
<li id="GUID-4AA18EA3-ACA6-4D03-A15E-16D30A905C7C"><p>A port can be configured
to automatically terminate data transfer requests early when various error
conditions occur. </p></li>
</ol></p></info>
</step>
</steps>
</taskbody></task>