Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

MSComm.Output problem

[es] :: Visual Basic 6 :: MSComm.Output problem

[ Pregleda: 2111 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

oggie

Član broj: 126613
Poruke: 140
212.62.49.*



+1 Profil

icon MSComm.Output problem05.02.2009. u 12:51 - pre 170 meseci
Treba na serijski port da posaljem neku komandu u specificnom formatu ali imam problem jer ne prihvata celu komandu:

Komanda = "blabla blabla -b 0x60000 -r 0x80000 -l 0x230000 -f 0x60030000 blabla"

1. Kada kazem MSComm.output = "blabla blabla -b 0x60000 -r 0x80000 -l 0x230000 -f 0x60030000 blabla" i kada sa inputa procitam sta je dobio, on dobije nesto ovako
"blabla blabla -b 00 -r 0x80000 -l 00 -f 0x60030000 blabla" , drugim recima neke brojeve skrati

2. Onda posaljem kao niz bajtova

dim a () as byte
a= strconv("blabla blabla -b 0x60000 -r 0x80000 -l 0x230000 -f 0x60030000 blabla",vbfromunicode)
MSComm.output =a

ali se opet desava isto

Onda vidim da ima property OutBufferSize=512, pa se postavlja pitanje da li je to dovoljno?

U kom obliku poslati gore navedenu komandu da radi kako treba?



 
Odgovor na temu

oggie

Član broj: 126613
Poruke: 140
212.62.49.*



+1 Profil

icon Re: MSComm.Output problem05.02.2009. u 13:33 - pre 170 meseci
Sad sam probao:

MSComm.Output="123456789123456789123456789" a on sa inputa vrati "123456789123456456789".

Isprobano vise stringova i uvek na 15 poziciji nesto skrati po random algoritmu. O cemu se ovde radi?
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
93.86.59.*



+1 Profil

icon Re: MSComm.Output problem05.02.2009. u 17:16 - pre 170 meseci
Problem je verovatno u tome sto ti nije isti baudrate na oba uradjaja, a moze da se desi i da imas elektromagnetne smetnje.
 
Odgovor na temu

oggie

Član broj: 126613
Poruke: 140
93.86.153.*



+1 Profil

icon Re: MSComm.Output problem05.02.2009. u 17:51 - pre 170 meseci
Baudrate je isti 57600 .....izgleda da ima neke veze sa velicinom buffera, ali jos uvek nisam otkrio resenje.
 
Odgovor na temu

mulaz
Ljubljana

Član broj: 47602
Poruke: 2239
89.142.58.*

Jabber: mulaz@elitesecurity.org
Sajt: www.mulaz.org


+184 Profil

icon Re: MSComm.Output problem05.02.2009. u 18:01 - pre 170 meseci
jesi probao da podelis string na vise manjih podstringova, i saljes jedan po jedan?
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
 
Odgovor na temu

oggie

Član broj: 126613
Poruke: 140
93.86.153.*



+1 Profil

icon Re: MSComm.Output problem05.02.2009. u 18:07 - pre 170 meseci
Probao, ali i dalje ne radi.
 
Odgovor na temu

mulaz
Ljubljana

Član broj: 47602
Poruke: 2239
89.142.58.*

Jabber: mulaz@elitesecurity.org
Sajt: www.mulaz.org


+184 Profil

icon Re: MSComm.Output problem05.02.2009. u 18:16 - pre 170 meseci
a da ubacis delay izmedju? koliki je recieve buffer na prijemniku? Koliki je delay kod recieva? A da implementiras "nesto", da reciever posalje neki podatak, kad primi prvih recimo 14 simbola, pa da onda saljes dalje?
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1345
212.200.240.*



+104 Profil

icon Re: MSComm.Output problem05.02.2009. u 18:40 - pre 170 meseci
Ako se dobri sećam MSComm kontrola ima property InputLen sa kojom možeš da definišeš koliko karaktera odjednom čitas sa buffer-a. Predpostavljam da je on kod tebe namešten na 15, a ti ga postavi na 0 kako bi čitao sve odjednom
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

oggie

Član broj: 126613
Poruke: 140
93.86.153.*



+1 Profil

icon Re: MSComm.Output problem05.02.2009. u 19:32 - pre 170 meseci
InputLen je setovan na 0.

Kod mene se sve desava u petlji:

MSComm.output = " ona gore komanda" & vbCrLf

NekoVreme = Timer
While Instr(1,Odgovor, "Nesto sto ocekujem")=0

DoEvents
odgovor= odgovor & MSComm.input

if Timer - NekoVreme > 50 Then
' otisao u timeout izbacim neku gresku
endif

wend
 
Odgovor na temu

oggie

Član broj: 126613
Poruke: 140
93.86.153.*



+1 Profil

icon Re: MSComm.Output problem05.02.2009. u 19:35 - pre 170 meseci
Ovo sto sam detektovao da se desava na 15 karakteru.... ne mora da znaci da je neko pravilo. Pokusao sam na tom mestu da u output string ubacim neke space-ove.... ali nije proslo.
 
Odgovor na temu

icobh
Igor Pejašinović
Network Admin
Navigo SC d.o.o.
Banja Luka

Član broj: 18738
Poruke: 1319
*.inecco.net.

Sajt: www.nsc.ba


+4 Profil

icon Re: MSComm.Output problem05.02.2009. u 20:42 - pre 170 meseci
Moraćeš raditi drugačije. Probaj ovako: Šalješ jedan byte i čekaš echo, a taj drugi kad primi byte, on ga dodaje u svoj neki bafer, u programu, i vraća taj byte nazad. Tako će da radi malo sporije ali ćeš dobiti zaštitu...
I ♥ ♀

Ovaj post je zlata vrijedan!
 
Odgovor na temu

[es] :: Visual Basic 6 :: MSComm.Output problem

[ Pregleda: 2111 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.