Página 1 de 1

Rotinas Write, Read da porta Serial c/ API Windows

MensagemEnviado: 27 Jun 2007 21:28
por rubenprom
Pessoal

Gostaria saber, se alguem tem um exemplo basico, de como Escrever, Ler dados pela porta serial, sem ter que usar o componente Comport, e sim as funçoes API do Windows. Se alguem puder postar algumas funcoes ja prontas.

Ja visitei a pagina do rogercom (www.rogercom.com), que tem um exemplo no C bUilder, eu mudei algumas coisas, mas nao tou entendendo tao ao certo tudo. Se alguem tiver algo mais simples

Desde ja meu agradescimento

Att

Ruben

MensagemEnviado: 27 Jun 2007 22:03
por marcelo
Entra no Rogercom. ele tem algumas rotinas utilizando diretamente a serial pelas funçoes que acessam a API.

Inclusive ele explana ate com alguns exemplos, e mostra as rotinas em DELPHI, VB e C++ Buider.

www.rogercom.com

Acesse a opção "SERIAL" no menu lateral esquerdo.

[]s,

Marcelo.

MensagemEnviado: 27 Jun 2007 22:11
por rubenprom
Opa Marcelo:

Obrigado pela sua resposta tao rapida. Pois bem, eu entrei nesse site do rogercom, testei, aquele programa RComAcess, mas quando mando uma unica string (caracter) ele me retorna no StrComandos invalida.Qaudno conectado com o hardware.
Ja teste meu hardware com o hyperteminal e funcina corretamente, assim que nao eh problema de hardware ou equipamento

mas mesmo assim, valeu pela dica

att

Ruben

MensagemEnviado: 27 Jun 2007 22:29
por marcelo
Como vai Rubem ?

O programa RcomAccess, é um programa de terminal, tipo o hyperterminal do windows.

O que estou me referindo, é o que vc perguntou, sobre as funções de acesso direto do hardware pela porta serial. estes exemplos, estao no final do artigo.
O artigo é:
CONECTANDO 8 TECLADOS NA PORTA SERIAL ATRAVÉS DE UM MICROCONTROLADOR PIC 16F877 PARA CONTROLE DE ACESSOS.

No final de cada pagina, tem um botão "proxima". se não me engano na quarta pagina, ele exemplifica o que te falei. segue um trecho:

CreateFile()
Utilizada para abrir a Porta Serial.

CloseHandle()
Utilizada para fechar a Porta Serial.

ReadFile() e WriteFile()
Utilizadas para lê e enviar dados através da Porta Serial.

GetCommState() e SetCommState()
Utilizadas para obter e alterar as configurações da Porta Serial, como velocidade, bit de dados, paridade etc.

BuildCommDCB()
Utilizada para preencher os campos da estrutura DCB com valores especificados numa string de controle de dispositivos.

GetCommTimeouts() e SetCommTimeouts()
Utilizadas para obter e alterar os parâmetros atuais de Timeouts associados às funções WriteFile() e ReadFile();

Qualquer dúvida, estamos aí.


[]`s.

Marcelo.

MensagemEnviado: 27 Jun 2007 22:36
por rubenprom
Marcelo , tudo bem??

Valeu Marcelo, tinha visto isso, mas tinha pulado varias vezes!

é verdade!, bah te agrasdeço de novo, vou tentar resovler isto com estas funções lá do site. Tou na pagina agora.

Exemplo com a porta serial

MensagemEnviado: 24 Jul 2007 11:12
por quispe
Olá ruben prom

eu sou professor do Senai Anchieta e ministro as disciplinas de Programação, microcontroladores, projetos e robótica. Tenho alguns exemplos e notas de aula sobre a porta serial usando a API do windows. Me mande um email no vendas@qsptecnologia.eng.br que irei te responder com um anexo dos exemplos que eu tenho. Vai sair tambem um artigo na saber eletronica sobre a porta serial que eu estou escrevendo. Abraço

MensagemEnviado: 24 Jul 2007 11:55
por andre_luis
Ruben,

A modificacao mais drástica que fiz na rotina do Rogercom para funcionar, foi mudar o tamanho do buffer de recepção para '1'.

Assim, toda vez que recebia um único caractere, o tratamento passou a ser feito pelo protocolo implementado por mim, ao invez de utilizar a função stringcomp da vida, usada por ele.


+++