Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 3.613 pregleda

Najnovija ↓

Citanje podataka sa serijskog porta 21.07.2008. u 15:27 · pre 222 meseca #1
Pozdrav,

Kako mogu da citam podatke sa serijskog porta u neko txt-polje ? Zapravo potrebna mi je mogucnost slusanja porta. Uredjaj koji se kaci na pomenuti port je vaga koja samo salje podatak o trenutnoj tezini.
Na netu sam gledao ali nigde nisam pronasao nista konkretno, pa ako je neko radio bilo bi lepo da pomogne.
Da li mogu da slusam port a da ga ne otvorim ? Ovo pitam zato sto sam skinuo neki program koji se zove Serial Port Monitor koji moze da slusa i salje podatke na serijski port. Kad ja iz moje aplikacije posaljem nesto na port taj program prepozna to i ispise rec koja je poslata ali kad zelim nesto sa tog programa da posaljem na port on mi javlja da neki program (moja aplikacija) koristi vec taj port i da ne moze da ga otvori. Znaci meni treba sad obrnuto, da ja iz tog programa (koji koristim u zamenu za vagu) posaljem nesto na port a da moja aplikacija samo to procita.
Uradio sam to na sledeci nacin:

Putem dugmeta kreiram ole objekat i setujem na commport 1 i otvaram port
BEGIN

:global.CommHandle := OLE2.Create_Obj('MSCOMMLib.MSComm');

OLE2.SET_PROPERTY(to_number(:global.commhandle), 'CommPort', 1);

OLE2.SET_PROPERTY(to_number(:global.commhandle), 'Settings', '9600,N,8,1');

OLE2.SET_PROPERTY(to_number(:global.commhandle), 'PortOpen', -1);
end;

Drugim dugmetom kreiram tajmer gde na svakih 100 milisekundi proveravam da li port salje nesto odnosno
na triger when_timer_expired radi sledece:

:block1.ulaz:=:block1.ulaz|| ole2.get_char_property(to_number(:global.commhandle),'Input');
synchronize;

Slanje na port radim dugmetom gde pre toga ispisem text koji saljem i stiskom na dugme radi sledece:
OLE2.SET_PROPERTY(to_number(:global.commhandle), 'Output', :block1.IZLAZ || chr(13));


Znaci slanje na port radi ali meni treba slusanje porta tj. da li mogu nekako da slusam port i da ucitavam ono sto salje taj drugi program.
Re: Citanje podataka sa serijskog porta 22.07.2008. u 09:05 · pre 222 meseca #2
Može da se uradi, ali ne direktno iz PL/SQL-a (koliko je meni poznato). Moraće nešto koda da se napiše u C-u ili Javi a taj kod posle lako možeš da pozivaš dalje.

Prost primer za Javu imaš ovde:

http://java.sun.com/developer/releases/javacomm/SimpleRead.java

a dokumentaciju za to ovde:

http://java.sun.com/products/javacomm/


Pozdrav.
Re: Citanje podataka sa serijskog porta 24.07.2008. u 08:38 · pre 222 meseca #3
Hvala na odgovoru.
Nije me bas utesilo ali sta da se radi. Mada nisam napomenuo ali kod koji sam poslao radi sa modemom. Meni je modem na com3 i kad posaljem komandu AT dobijem odgovor OK. Ali kad je u pitanju com1 i slanje podataka iz drugog programa nije mi radilo.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme