Porta Serial

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Porta Serial

Mensagem por Nascimento »

algum amigo aqui ja enviou pela serial valores diretamente em hexadecimal?

estou precisando enviar os seguintas valores

0x53|0x80
0x55|0x80

alguem ja enviou coisa desse tipo??
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Porta Serial

Mensagem por Kapiaba »

Desculpe, não entendi, explique melhor. Usei muito, mas para pegar o Código de Barras dos produtos em mercadinhos. Usei a HBCOMM.LIB.

https://pctoledo.org/forum/viewto ... f=4&t=8412

https://pctoledo.org/forum/viewto ... f=4&t=7778
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Porta Serial

Mensagem por Nascimento »

programo em clipper/harbour a vários anos , mais também sou técnico em eletrônica, nesses dias recebi um equipamento
que precisa de um soft para comunicar com ele, e o protocolo que o cara me mandou foi esse:
acionar motor = 0x53
desligar motor = 0x53|0x80
acionar solenoide = 0x54
desligar solenoide = 0x54|0x80
entre outros comandos mais todos seguindo essa regra
com o |0x80 desliga
eu sei que o |0x80 seta o bit 7
como sabemos um hexadecimal é um valor em binário nesses em questão são de 8 bits ou 1 byte
se fosse de 1 microcontrolador para outro eu enviaria tranquilamente , mais não sei ainda como fazer no harbour
tenho um pouco mais de intimidade com a hbct, mais se conseguise um exemplo com a hbcom funcional pra mim seria otimo!
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Porta Serial

Mensagem por alaminojunior »

Boa tarde !

Não entendo quase nada desse negócio de hexadecimal, mas com as funções de conversão do xHarbour não seria possível ?
A função abaixo é da HbComm.

Código: Selecionar todos

Function pegapeso
Local bHandle, string:=chr(5), bytes, buffer, q, tenta:= 0
Private dados
bal_marca = "TOLEDO"
bal_porta = "COM1"
bal_veloc = "9600"

string = HexToSTr( <valor hexadecimal> ) // precisaria converter o seu valor hexa com HexToSTr( <valor hexadecimal> )

do while .t.
	bhandle:= Init_Port(bal_porta,val(bal_veloc),8,0,1,8000)
	OutBufClr(bhandle) // Limpa o Buffer de Saida
	OUTCHR(bhandle,string)
	millisec(250)
	bytes:= InbufSize(bhandle)
	dados:= SPACE(20)
	buffer:= InChr( bhandle, Bytes, @DADOS)
	UnInt_Port(bhandle)
	dados = subs(alltrim(dados),2,5)
	if dados = "IIIII"
	   millisec(250)
	   tenta ++ 
	   if tenta > 8
		   return -1   
	   endif
	   loop
	elseif dados = "SSSSS"
	   return -2
	elseif dados = "NNNNN"
	   return -3   
	endif
	q = val(dados)/1000
	if q = 0
      return -4
	endif
	exit
enddo	
return q
Perdão pelo tratamento dos retornos que eu não editei, mas eu lido com balanças rsrsrsrs.
Mas creio que o caminho seja por aí.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Porta Serial

Mensagem por Nascimento »

tudo tranquilo, o problema é que tem que entender um pouco de eletronica mais precisamente na parte de microcontroladores
estou com o codigo do rx " o codigo escrito para o microcontrolador alvo" o que esta me encucando é como enviar marcando o bit 7 rsrs

exatamente isso 0x53|0x80 "dessa forma marco o bit 7"
de microcontrolador para microcontrolador consigo normalmente agora ja com o harbour estou levando couro
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Porta Serial

Mensagem por Claudio Soto »

No entendí muy bien lo que necesitas pero esto 0x53|0x80 en Hb es equivalente a
hb_bitOR (0x53,0x80)
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Responder