Nao consigo enviar/ler serial modem mtk usb

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Nao consigo enviar/ler serial modem mtk usb

Mensagem por ANDRIL »

Pessoal ja revirei o forum atraves dos topicos com uso da CTP.LIB usando as funcoes de controle da serial, de todos os exemplos testados, nenhum retorna um OK ou ERRO do modem. O modem que estou usando é um MTK GPRS USB
ligado ao PC via cabo USB. Instalei os drives e ele assumiu a porta COM3 no gerenciador de dispositivos e instalou corretamente o modem.

Consigo fazer comunicacao com o modem via HiperTerminal do WinXP, mando um AT + enter e me retorna OK.
Porem, nao sei onde estou errando, nao estou conseguindo mandar/receber nada do modem via sistema, mesmo usando no prompt do DOS o MODE COM3:9600,N,8,1 para setar conforme as opcoes que aparecem no WINDOWS e como esta configurado no HiperTerminal.

Bom vou postar o trecho de codigo

Código: Selecionar todos

 com_close(nCom) 
*--este comando retorna .t., entao abriu corretamente 
com_open(nCom, 100,100) 

*--este comando tambem retorna .t., entao setou corretamente
com_init(nCom, 9600, "N", 8, 1) 

*--este comando sempre retorna .F. alias nao entendi para que serve
com_hard(nCom,.t.) 

 conta=0 
 cappeso=.f. 
 peso=0 

 //--envia o caracter de inicio para a modem
 cInicia="AT"+chr(13)+chr(10) 

//--aqui ao enviar me retorna 0 (ZERO), pelo ng diz que 
//--houve sucesso pois enviou toda a string
 nRest= COM_SEND(nCom,cInicia) 

//--efetuando uma pausa
 inkey(1.0)
 
//--aqui tirei o if so para ver se o peso passava a ter alguma string, 
//--nao adiantou nao retorna nada, aumentei o tempo de 0.01 para 
//--1.0 de espera por uma resposta mais nao adiantou nada
 do while conta<50 
   cinput := com_read(nCom,100) 
   inkey(1.0) 
   if empty(cinput) 
       @24,00 say "empty()=.t. | "+alltrim(str(conta))
       conta++ 
    else 
       *if substr(cinput,1,1)=chr(13) 
          peso+=cinput //val(substr(cinput,2,6)) 
          cappeso=.t. 
       *exit 
       *endif 
       inkey(.1) 
       conta++ 
    endif 
 @10,00 say peso
 enddo 
 com_close(nCom) 
 return(.t.) 
Embora COM_SEND() me retorne sucesso (ZERO) NAO acredito que esteja mandando nada, seria a unica explicacao para nao ter retorno algum.

Até hoje tinha trabalhado com CTP via serial apenas para leitura de balancas, na qual funcionou perfeitamente, agora para enviar informacoes talvez tenha alguma manha.

Ja li no ng sobre as funcoes e nao sei mais pra onde correr. Será que pode ser o fato do modem estar utilizando um cabo USB para acarretar tal problema, ou sera que é meu codigo que esta errado.

Meu arquivo de linker do blinker esta assim:
file and, G:\OLDMIX\__wait_b

BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE EXTENDED
BLINKER EXECUTABLE COMPRESS 1

SEARCH BLXCLP52

LIB CTP
LIB EXTEND
LIB CLIPPER
LIB DBFCDX
LIB DBFNSX
Abraços.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Nao consigo enviar/ler serial modem mtk usb

Mensagem por ANDRIL »

Pois é, fiz um aplicativo em CSharp e consegui fazer a comunicação com o modem normalmente utilizando a porta COM3.
Estou achando que as funcoes da CTP.LIB so se comunicam com a COM1 e COM2, embora tenha opcoes de COM3 e COM4.

Alguem ja conseguiu fazer a conexao (ENVIAR/RECEBER) utilizando a COM3???
Se sim, onde no meu codigo acima posso estar errando.

Abraços.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Nao consigo enviar/ler serial modem mtk usb

Mensagem por sygecom »

Olá Andril,
Eu já usei, porem com balanças eletrônica enviando e pegando o retorno, com modem nunca me comuniquei.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Nao consigo enviar/ler serial modem mtk usb

Mensagem por ANDRIL »

Fiz mais um teste, agora instalei o modem USB em outra maquina que ja havia um modem (PCI) instalado. Este modem esta na COM3 e o USB assumiu a porta COM2.

Abri o HyperTerminal e testei os dois, tudo OK. Usei o programa de comunicacao feito em CSharp, tudo OK.
Com o meu sistema feito em clipper52 + CTP consigo comunicar normalmente com o modem PCI na COM3. Ja com o o modem USB nao da retorno da leitura.

Ja ajustei as configuracoes da porta no Windows, no Dos e no meu sistema, mais nao tem jeito, não le nada.
Isso me deixou tao intrigado e vou continuar saber o por que disso.
Abracos.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Responder