Vous êtes sur la page 1sur 10

Manual de QPort 1.

5 Autor: Oldani Sebastin


Manual de QPort
Ver: 1.5
by
Sebastian Oldani
www.sebest.com.ar
Documento GPL
1/10
Manual de QPort 1.5 Autor: Oldani Sebastin
Indice de Contenidos
Que es QPort?.......................................................................................................................................3
Como comilar QPort...........................................................................................................................3
!nstalaci"n en #inu$.............................................................................................................................3
!nstalaci"n en %indo&s........................................................................................................................3
A're'ar QPort a un Pro(ecto...............................................................................................................3
Con)i'urar QPort..................................................................................................................................*
#ista de )unciones.................................................................................................................................5
#ista de se+ales.....................................................................................................................................5
,etalle de )unciones.............................................................................................................................-
,etalle de se+ales...............................................................................................................................10
./10
Manual de QPort 1.5 Autor: Oldani Sebastin
Que es QPort?
QPort es un &id'ets ara Q/*0 1ue ermite reali2ar una comunicaci"n a tra3es del uerto
serie de la PC. #o ositi3o de este &id'ets es 1ue no es necesario ro'ramar nada ara reali2ar la
comunicaci"n0 simlemente se uede arrastrar desde el Q/,esi'ener ( con)iru'ar desde all4 todos
sus arametros. Adems cuenta con unos slots 1ue ueden ser conectados 'ra)icamente.
QPort se distribu(e con este manual ( adems el e5emlo 1ue a1u4 mismo se trata. Para
conecer ms sobre QPort diri5ase a &&&.sebest.com.ar o or mail sebastianoldani6'mail.com
omo com!ilar QPort:
QPort esta listo ara ser comilado0 no es necesario modi)icar nada0 simlemente se tiene
1ue descomrimir el arc7i3o0 entrar a la careta ( e5ecutar los comandos 81ma9e: ( a continuaci"n
8ma9e:.
;n unto imortante QPort no tiene un autoinstall or1ue esta ensado ara utili2arse en
alicaciones mu( articulares ( no me areci" aroiado instalarlo en la PC0 sin embar'o 3o( a
e$licar los asos a se'uir ara 1ue el &id'ets este correctamente instalado.
Para oder instalar QPort es necesario ba5ar el arc7i3ador del c"di'o )uente. <a( 1ue
descomrimirlo ( lue'o e5ecutar dentro de la careta 1ue se descomrimi" las sentencias:
1ma9e
ma9e
=o es necesario ser administrador ara e5ecutar estas sentencias. >sto s"lo comila el
&id'et.
"nstalaci#n en Linu$:
Coiar el arc7i3o ?lib1ort.so? en la ubicaci"n de las librer4as ?/usr/lib? ( crear un enlace
simb"lico en los lu'ins del Qtdesi'ner @si no )unciona coiarlo directamente en esta ubicaci"n
tambiAnB0 1ue en ubuntu linu$ esta or de)ecto en la ubicaci"n ?/usr/lib/1t*/lu'ins/desi'ner?.
Adems es necesario coiar los arc7i3os de cabeceras ?Mana'eSerialPort.7?0
?osi$C1e$tserialort.7?0 ?1e$tserialbase.7?0 ?1e$tserialort.7?0 ?uiC1ort.7? en la careta de los
includes de Qt*0 1ue or de)ecto se encuentra en ?/usr/include/1t*/?. Crear a74 dentro una careta
llamada 1ort ( coiar todas las cabeceras.
;na 3e2 coiados estos arc7i3os (a tienes la librer4a instalada0 a7ora ara oder utili2arla es
necesario incluir unos armetros al arc7i3o del ro(ecto.
"nstalaci#n en %indows:
Coiar el arc7i3o ?1ort.dll? en la ubicaci"n de las librer4as ?D:E%indo&sES(stem3.? (
coiarlo en los lu'ins del Q/desi'ner0 1ue deende de donde 7a(as instalado Q/
?D:EDDE1t*Elu'insEdesi'ner?.
Adems es necesario coiar los arc7i3os de cabeceras ?Mana'eSerialPort.7?0
?osi$C1e$tserialort.7?0 ?1e$tserialbase.7?0 ?1e$tserialort.7?0 ?uiC1ort.7? en la careta de tus
includes dentro de 1t* dentro de una careta llamada 1ort. ?D:EDDE1tEincludesE1ort?.
;na 3e2 coiados estos arc7i3os (a tienes la librer4a instalada0 a7ora ara oder utili2arla es
3/10
Manual de QPort 1.5 Autor: Oldani Sebastin
necesario incluir unos armetros al arc7i3o del ro(ecto.
&'re'ar QPort a un Proyecto:
Primero unas de)iniciones 1ue son necesarias ara oder comilar el ro(ecto tanto en
#inu$ como en %indo&s. F adems 1ue a're'ues la librer4a ?1ort? a tu ro(ecto.
Ac se muestra el c"di'o 1ue 7a( 1ue incluir0 tener en cuenta 1ue si (a tienes al'unas
librer4as incluidas tendrs 1ue a're'arlas sobre las 1ue (a tienes ara no crear nin'Gn con)licto.
///////////////////cdigo a incluir////////////////////
win32 {
DEFINES += _TTY_WIN_ QWT_DLL QT_DLL

uni! {
DEFINES += _TTY_"#SI$_

LI%S += &l'(or)
////////////////////////////////////////////////////////
on(i'urar QPort:
Como (a di5e QPort es un &id'et ara mane5ar el uerto serie de la PC0 or ello es necesario
con)i'urarlo con al'unos 3alores ara oder reali2ar la comunicaci"n 1ue necesitamos.
;na 3e2 instalado uedes eme2ar a utili2ar QPort0 ara ello crea un ro(ecto con una
3entana de dialo'o como lo 7ar4as normalmente0 3e a Q/,esi'ner ( arrastra el &id'et de QPort0
1ue se encuentra en el menG con nombre 8Sebest %id'et: ( de a74 arrastra el 1ue se llama 8QPort:
a la 3entana 1ue estas creando0 7a2 clic sobre Al ( modi)ica sus roiedades ara 1ue se adecuen a
tu con3eniencia.
/ienes 1ue decir cual uerto 3as a usar0 uede ser si estas en linu$ 8/de3/tt(S0: este es el
rimer serie0 o 8/de3/tt(S1: si es el se'undo serie ( as4 si'uiendo ese orden. Si tienes un cable ;SH
I S>J!> debers usar el uerto con nombre 8/de3/tt(;SH0: o 8/de3/tt(;SH1: deendiendo de
cuantos ten'as conectados ( cual 1uieras usar.
>n %indo&s la cosa cambia ( es un oco ms simle solo tienes 1ue oner 1ue Com es (
listo0 desde el administrador de disositi3os uedes 3er como se llama el 1ue 1uieras usar ( listo0
ueden ser 8Com1: o 8Com.: ( as4 se'Gn cual uses.
Otro armetro es la 3elocidad de comunicaci"n0 esta 3elocidad debe ser la misma ara los
dos disositi3os 1ue se 3an a comunicar0 al i'ual 1ue los dems armetros. =o 3o( a e$licar 1ue
son los dems armetros or1ue no 3iene al caso.
Adems uedes colocar en el dialo'o un c7ec9bo$ ara abrir ( cerrar el uerto mediante
si'nals ( slots sin tener 1ue codi)icar nada. Arrastras el c7ec9bo$0 abr4s el editor de si'nals ( slots
creas una nue3a con la si'uiente in)ormaci"n. Sender 8c7ec9Ho$:0 Si'nal 8to''led@boolB:0 Jecei3er
81ort:0 Slot 8oen@boolB:.
*/10
Manual de QPort 1.5 Autor: Oldani Sebastin
Lista de (unciones:
bool oen@BK
bool oen@const QStrin' Lname0 const HaudJate/(e baudJate0 const ,ataHits/(e dataHits0E
const Parit(/(e arit(0 const StoHits/(e stoHits0 E
const Mlo&/(e )lo&Control0 ulon' seconds0 ulon' millisecondsBK
3oid setHaudJate@const Seed baudJateBK
3oid set,ataHits@const ,ataHits dataHitsBK
3oid setParit(@const Parit( arit(BK
3oid setStoHits@const HitsSto stoHitsBK
3oid setMlo&Control@const Mlo& )lo&ControlBK
bool isOen@BK
3oid close@BK
3oid setPort@const QStrin' LnameBK
QStrin' 'etPort@BK
Seed 'etHaudJate@3oidBK
,ataHits 'et,ataHits@3oidBK
Parit( 'etParit(@3oidBK
HitsSto 'etStoHit@3oidBK
Mlo& 'etMlo&Control@3oidBK
int 'etHu))er@3oidBK
3oid enableSendin'@BK
3oid disableSendin'@BK
bool isSendin'>nabled@BK
c7ar send,ata@QH(teArra( Ldata/oSendBK
QStrin' Mormat,ata@QH(teArra( data0c7ar )ormat0QStrin' saceN? ?BK
3oid stoSendin'@BK
3oid enableJecei3in'@BK
3oid disableJecei3in'@BK
bool isJecei3in'>nabled@BK
3oid stoJecei3in'@BK
Lista de se)ales:
3oid ne&,ata@const QH(teArra( ,atoJBK
5/10
Manual de QPort 1.5 Autor: Oldani Sebastin
Detalle de (unciones:
bool o!en*+,
Abre el uerto con los armetros or de)ecto o los car'ados mediantes las )unciones de car'a.
bool o!en*const QStrin' -name. const /aud0ate1y!e baud0ate. const Data/its1y!e
data/its.const Parity1y!e !arity. const Sto!/its1y!e sto!/its. const 2low1y!e (lowontrol.
ulon' seconds. ulon' milliseconds+,
Munci"n sobre car'ada0 donde es osible determinar los armetros antes de iniciar el uerto
3oid set/aud0ate*const S!eed baud0ate+,
Setea la el baud rate del uerto.
HA;,500 //POS!D O=#F
HA;,O50 //POS!D O=#F
HA;,1100
HA;,13*0 //POS!D O=#F
HA;,1500 //POS!D O=#F
HA;,.000 //POS!D O=#F
HA;,3000
HA;,-000
HA;,1.000
HA;,1P000 //POS!D O=#F
HA;,.*000
HA;,*P000
HA;,Q-000
HA;,1**000 //%!=,O%S O=#F
HA;,1Q.000
HA;,3P*000
HA;,5-0000 //%!=,O%S O=#F
HA;,5O-000
HA;,O-P000 //POS!D O=#F
HA;,115.000
HA;,1.P0000 //%!=,O%S O=#F
HA;,.5-000
3oid setData/its*const Data/its data/its+,
Setea los bits de datos.
,A/AC50
,A/AC-0
,A/ACO0
,A/ACP
-/10
Manual de QPort 1.5 Autor: Oldani Sebastin
3oid setParity*const Parity !arity+,
Setea la aridad
PAJC=O=>0
PAJCO,,0
PAJC>R>=0
PAJCMAJS0 //%!=,O%S O=#F
PAJCSPAC>
3oid setSto!/its*const /itsSto! sto!/its+,
Setea los bits de Sto.
S/OPC10
S/OPC1C50 //%!=,O%S O=#F
S/OPC.
3oid set2lowontrol*const 2low (lowontrol+,
Setea el control de )lu5o.
M#O%COMM0
M#O%C<AJ,%AJ>0
M#O%CDO=DOMM
bool isO!en*+,
Jesonde 8true: si el uerto esta abierto
3oid close*+,
Cierra el uerto
3oid setPort*const QStrin' -name+,
Setea el nombre del uerto.
QStrin' 'etPort*+,
,e3uel3e el nombre del uerto.
S!eed 'et/aud0ate*3oid+,
,e3uel3e los baud rate del uerto
Data/its 'etData/its*3oid+,
O/10
Manual de QPort 1.5 Autor: Oldani Sebastin
,e3uel3e los bits de datos.
Parity 'etParity*3oid+,
,e3uel3e la aridad.
/itsSto! 'etSto!/it*3oid+,
,e3uel3e los bits de sto.
2low 'et2lowontrol*3oid+,
,e3uel3e el tio de control de )lu5o.
3oid set/u((er*int n/u((+,
Setea la cantidad de caracteres 1ue tienen 1ue lle'ar antes de 1ue se e5ecute la si'nal.
Si se in'resa 80: se e5ecuta la si'nal ni bien lle'ue cual1uier cantidad de b(tes.
int 'et/u((er*3oid+,
,e3uel3e la cantidad de caracteres 1ue deben lle'ar al uerto antes de e5ecutarse la si'nal.
3oid enableSendin'*+,
Acti3a la transmisi"n de datos.
3oid disableSendin'*+,
,esacti3a la transmisi"n de datos.
bool isSendin'4nabled*+,
Jesonde 8true: si esta la transmisi"n esta acti3ada.
c5ar sendData*Q/yte&rray -data1oSend+,
>n3ia la cadena de datos da)aToS*nd ( resonde:
return 1 : add OS
return . : ort is not oen
return 3 : sendin' is not enable
QStrin' 2ormatData*Q/yte&rray data.c5ar (ormat.QStrin' s!ace67 7+,
Con3ierte la cadena da)a0 se'Gn el )ormato +or,a) ( lo seara con la cadena -(ac*.
P/10
Manual de QPort 1.5 Autor: Oldani Sebastin
)ormat:
t ,e3uel3e la cadena en )ormato de te$to0 el 3alor de -(ac* no altera el resultado
7 ,e3uel3e la cadena como 7e$adecimal searando los 3alores mediante -(ac*
o ,e3uel3e la cadena como octal searando los 3alores mediante -(ac*
b ,e3uel3e la cadena como binario searando los 3alores mediante -(ac*
d ,e3uel3e la cadena como decimal searando los 3alores mediante -(ac*
>5:
Qstrin' strK
strN1ortTUMormat,ata@dato0V7V0? ?BBK //datoN1.3
// str N 31 3. 33
strN1ortTUMormat,ata@dato0VtV0? ?BBK //datoN1.3
// str N 1.3
3oid sto!Sendin'*+,
,es7abilita la transmisi"n de datos.
3oid enable0ecei3in'*+,
Acti3a la receci"n de datos.
3oid disable0ecei3in'*+,
,es7abilita la receci"n de datos.
bool is0ecei3in'4nabled*+,
Jesonde 8true: si la receci"n esta acti3ada.
3oid sto!0ecei3in'*+,
,etiene la receci"n de datos.
Q/10
Manual de QPort 1.5 Autor: Oldani Sebastin
Detalle de se)ales:
3oid newData*const Q/yte&rray -Dato0+,
>sta se+al se acti3a cuando un dato lle'a al uerto serie. >l dato es Da)o/0
10/10