Compartilhar via


Writing to a Serial Port

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

O WriteFile função transfere dados por meio de serial conexão a outro dispositivo.

Antes chamado deve essa função, um aplicativo aberto e configurar um porta serial.

Porque Windows Embedded CE não suporte sobreposto E/S, o primário segmento ou qualquer segmento que cria uma janela deve tentar gravar uma grande quantidade de dados em um porta serial não. Esses segmentos são bloqueados e não é possível gerenciar filas mensagem.

Um aplicativo pode simular E/S sobreposto criando múltiplo segmentos para operações de leitura/gravação identificador. Para coordenar segmentos, um aplicativo chama o WaitCommEvent função para segmentos bloco até ocorrer eventos de comunicação específicas.

Para obter mais informações sobre eventos de comunicação, consulte Usando eventos de comunicação.

Para gravar um porta serial

  1. Identificador de porta para passar a WriteFile função in a hFile parâmetro.

    O CreateFile função retorna este identificador quando um aplicativo abre uma porta.

  2. Especificar um ponteiro para os dados a serem gravados em lpBuffer.

    Geralmente, esse dados é dados binários ou uma matriz caractere.

  3. Especificar o número de bytes a gravar no nNumberOfBytesToWrite.

    A reserva toda pode ser passada para o driver.

  4. Especificar em lpNumberOfBytesWritten Um ponteiro para uma localidade onde WriteFile irá armazenar o número de bytes realmente gravados; Em seguida, aspecto nesta localidade para determinar se os dados transferidos.

  5. Certifique-se de que lpOverlapped é NULL.

O seguinte mostra exemplo de código como transferir dados usando o WriteFile função.

DWORD dwError,
      dwNumBytesWritten;

WriteFile (hPort,              // Port handle
           &Byte,              // Pointer to the data to write 
           1,                  // Number of bytes to write
           &dwNumBytesWritten, // Pointer to the number of bytes 
                               // written
           NULL                // Must be NULL for Windows Embedded CE
);

See Also

Concepts

Programming Serial Connections