Como receber dados pela COM1 e colocar numa variavel
Moderador: Moderadores
-
Paulo Eduardo Wanke
- Usuário Nível 1

- Mensagens: 3
- Registrado em: 19 Abr 2022 17:37
- Localização: Curitiba
Como receber dados pela COM1 e colocar numa variavel
Fui amigo do Pablo Cesar e foi ele que me apresentou este forum.
Eu e o Plabo desenvolvíamos programas no Clipper. Há 4 anos o Paplo me incentivou a começar a usar o HMG (Harbour).
Infelizmente ele nos deixou prematuramente e não pode me ajudar mais.
Gostaria da ajuda deste forum para resolver um problema o qual já quebrei muito minha cabeça e não consegui.
Meu problema é o seguinte:
Desenvolvi um programa para um restaurante por quilo.
Preciso que o programa receba os dados das balanças (pesagem dos pratos) através da COM1 (saída serial).
A balança está me enviando um texto e eu não consigo ler.
Não acho o comando que receba esses dados (texto). Pode ser numa variável ou text-box ou label.
Alguém pode me dar uma luz?
Eu e o Plabo desenvolvíamos programas no Clipper. Há 4 anos o Paplo me incentivou a começar a usar o HMG (Harbour).
Infelizmente ele nos deixou prematuramente e não pode me ajudar mais.
Gostaria da ajuda deste forum para resolver um problema o qual já quebrei muito minha cabeça e não consegui.
Meu problema é o seguinte:
Desenvolvi um programa para um restaurante por quilo.
Preciso que o programa receba os dados das balanças (pesagem dos pratos) através da COM1 (saída serial).
A balança está me enviando um texto e eu não consigo ler.
Não acho o comando que receba esses dados (texto). Pode ser numa variável ou text-box ou label.
Alguém pode me dar uma luz?
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como receber dados pela COM1 e colocar numa variavel
Olá!
Bem, vindo ao forum! Usando a lib hbwin.
Pois tem outras libs no Harbour que fazem a mesma coisa.
Troque MsgStop por alert()
Saudações,
Itamar M. Lins Jr.
Bem, vindo ao forum! Usando a lib hbwin.
Pois tem outras libs no Harbour que fazem a mesma coisa.
Código: Selecionar todos
*****************
Function PegaPeso
*****************
*
*
Local oDlg, cTitle := 'Lendo o peso da balança...'
LOCAL cString := Chr( 5 )
LOCAL nResult, nPeso
Do While .t.
oWinPort := win_Com():Init( "com1:", WIN_CBR_2400, WIN_NOPARITY, 8, WIN_ONESTOPBIT )
IF ! oWinPort:Open()
MsgStop("Erro lendo peso: " + oWinPort:ErrorText() )
return 0
Else
IF !oWinPort:SetDTR( .T. )
MsgInfo ( "SetDTR( .T. ) Falha:"+ oWinPort:ErrorText() )
ENDIF
IF ( nResult := oWinPort:Write( cString ) ) <> Len( cString ) //Mando o chr(5)
msginfo( "Falha na escrita: "+ str(nResult) + " expected " + str(Len(cString)) )
ENDIF
EndIf
oWinPort:Read( @xString,7)
nPeso := val(substr(xString,2,5))/1000
IF !oWinPort:Purge( .T., .T. )
msginfo( "Falha no comando Purge() :" + oWinPort:ErrorText())
ENDIF
oWinPort:Close()
If empty(nPeso)
MsgStop('Coloque um peso na balança !')
Else
exit
EndIf
EndDo
Return nPeso
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
Paulo Eduardo Wanke
- Usuário Nível 1

- Mensagens: 3
- Registrado em: 19 Abr 2022 17:37
- Localização: Curitiba
-
Paulo Eduardo Wanke
- Usuário Nível 1

- Mensagens: 3
- Registrado em: 19 Abr 2022 17:37
- Localização: Curitiba
Como receber dados pela COM1 e colocar numa variavel
WIN_CBR_2400, WIN_NOPARITY, WIN_ONESTOPBIT
O que são as variáveis acima?
IF ! oWinPort:Open()
a minha oWinPort não está Open, portanto não está pegando o texto que a balança está me mandando.
Deve ser as variáveis que eu as criei como sendo string para poder rodar a função PegaPeso()
Meu Agradecimento por estarem me ajudando
Abraços Paulo E. Wanke
O que são as variáveis acima?
IF ! oWinPort:Open()
a minha oWinPort não está Open, portanto não está pegando o texto que a balança está me mandando.
Deve ser as variáveis que eu as criei como sendo string para poder rodar a função PegaPeso()
Meu Agradecimento por estarem me ajudando
Abraços Paulo E. Wanke
Como receber dados pela COM1 e colocar numa variavel
viewtopic.php?f=4&t=9887&p=56481&hilit=Lerbalanca#p56481
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como receber dados pela COM1 e colocar numa variavel
Olá!
Saudações,
Itamar M. Lins Jr.
Estão no #include "hbwin.ch"O que são as variáveis acima?
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como receber dados pela COM1 e colocar numa variavel
Olá!
A Toledo tem uma forma de string e a Filizola outra e uma dessas fechou/vendeu... Tem um tempo que não mexo com isso.
Esse programa eu fiz no windows em outra cpu, estou usando o Linux agora para dizer o tamanho das string de cada marca.
Saudações,
Itamar M. Lins Jr.
Até onde sei, primeiro mandamos um sinal p/ a balança pedindo o peso, ela manda e processamos.portanto não está pegando o texto que a balança está me mandando.
A Toledo tem uma forma de string e a Filizola outra e uma dessas fechou/vendeu... Tem um tempo que não mexo com isso.
Esse programa eu fiz no windows em outra cpu, estou usando o Linux agora para dizer o tamanho das string de cada marca.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
