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

Problemi sa jednostavnim protokolom komunikacije... COM port

[es] :: .NET :: Problemi sa jednostavnim protokolom komunikacije... COM port

[ Pregleda: 1705 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

AdamDostanic
Adam Dostanic
Novi Sad

Član broj: 151212
Poruke: 5
*.ADSL.neobee.net.



Profil

icon Problemi sa jednostavnim protokolom komunikacije... COM port11.07.2007. u 07:15 - pre 204 meseci
Hteo bih da zamolim nekog iskusnijeg za pomoc... Naime pravim sledece: imam 2 RF modula koja salju po 20 karaktera... sa PC su povezani preko serijskog porta... Moj zadatak je sledeci, da iscitam iz datoteke neke merene vrednosti, napravim pakete i da ih saljem sa jeden strane i primam sa druge... Ja sam u .NET 2.0 napravio mini hiper terminal, koristio sam klasu IO.Ports za komunikaciju i mini protokol... Kada kreiram pakete za otpremu dobijem nizove od po 20 karaktera... Kada pocnem da saljem saljem prvi string od nizova, a na prijemu vidim pomocu ceksume da li je to dobro ili ne, ako je dobro vrati se OK i nastavlja se dalje slanje, ako ne vrati se error i salje se isti paket... Implementacija u C# je sledeca: na kliku na dugme salji salje prvi paket a u dogadjaju za prijem podataka na com portu proverava sta je primljeno (ok ili error) i onda salje isti ponovo ili novi... To sam stavio u jednom if(primljeno == OK) salji nov else salji ponovo... ReceivedByteThreshold sam stavio na 20... 1. problem sa kojim sam se susreo je sta ako je poslao sa prijema OK ali je doslo do greske u prenosu, imam duplo isti paket... pa sam to resio na prijemu sto pamtim predhodni i proveravam da li je isti sa primljenim novim... 2. sta sam uocio je da nekada nacisto prestane sa komunikacijom i shvatio sam u cemu je problem, naime dogodi se sledece: posto je sve stavljeno u dogadjaju prijema podataka na com koji reaguje na 20 jer je ReceivedByteThreshold = 20, dodje do greske prilikom prenosa i ne prenese se svih 20 tako da komunikacija stane, nema retransmisije niti slanja novog jer nista nije primljeno... Probao sam da stavim ReceivedByteThreshold na 1 ali tada se dogadja da jako puno ima gresaka pri prenosu i da jedva nesto i prenese... Da li neko ima neku ideju kako da ovo resim, bio bih bas zahvalan.. Nije problem da komuniciramo mesingerom i da okacim taj deo koda...
Hvala unapred
 
Odgovor na temu

PeraKojovic
Petar Kojovic
Novi Sad

Član broj: 95569
Poruke: 56
*.ns.ac.yu.



Profil

icon Re: Problemi sa jednostavnim protokolom komunikacije... COM port16.07.2007. u 09:43 - pre 204 meseci
Pozdrav,
prvo procitaj moj post na http://www.codeproject.com/cs/internet/SerialCommunication.asp
pa ako nakon toga ne uspes sam da resis, dacu ti predlog...

Pera
 
Odgovor na temu

AdamDostanic
Adam Dostanic
Novi Sad

Član broj: 151212
Poruke: 5
*.ADSL.neobee.net.



Profil

icon Re: Problemi sa jednostavnim protokolom komunikacije... COM port16.07.2007. u 10:56 - pre 204 meseci
Da Vam se zahvalim na pomoci. Pokusacu ovako kao sto stoji na vasem odgovoru. Ako uspe javicu Vam, ako ne moram opet zatraziti pomoc ako nije problem. Koliko vidim obojica smo iz NS... Ovo sa Texasovim modulima je nekako specificno... Da li imate msn, mozemo i tako kontaktirati, a ako ne da li mi mozete dati neku e-mail adresu?
Hvala unapred
 
Odgovor na temu

PeraKojovic
Petar Kojovic
Novi Sad

Član broj: 95569
Poruke: 56
*.ns.ac.yu.



Profil

icon Re: Problemi sa jednostavnim protokolom komunikacije... COM port17.07.2007. u 09:03 - pre 204 meseci
Mala pomoc:

ne treba ti nikakav treshold, vec kako sam i objasnio u postu na CP,
1. na byteRecieved imas interapt
2. na taj interapt pokreces neki brojac(npr 100ms), koji kad odbroji kaze StigaoCeoPaket
3. onda pokupis paket na obradu

i tako u krug

Pozdrav
 
Odgovor na temu

AdamDostanic
Adam Dostanic
Novi Sad

Član broj: 151212
Poruke: 5
*.ADSL.neobee.net.



Profil

icon Re: Problemi sa jednostavnim protokolom komunikacije... COM port17.07.2007. u 13:18 - pre 204 meseci
Pogledao sam ovo sto ste mi poslali, koliko vidim radi na sledeci nacin: predajna strana salje sve podatke ne cekajuci na potvrdu, a prijemna prima i na kraju (posto primi sve pakete, ne jedan od 20 karaktera) obradjuje sve... Mozda bi od toga moglo nesto da se uklopi, ali mislim da to nije bas to... Moram jos to i probati prakticno. Imam problema sa 1 modulom, samo prima, nece nista da salje, samo ponekad... Inace probao sam da umesto baterije izvucem sa USB napajanje jer je stabilno ali i sa tim isto, pa jos da predpostavim da mozda vuce vecu struju od 500mA i da probam sa ispravljacem ali nista, nece ni sa novom baterijom da radi...
Vidim da ste sa Novosadskog fakulteta (*.ns.ac.yu...), radio sam kao asistent na tehnickom fakultetu u Cacku, a sada sam ovde u ns ali ne na fakultetu. Ovo za sta trazim pomoc radim za neke eksperimente koje vrsim i treba u svoj mag rad da ih uvrstim... Ako nije problem da ostavim e - mail adresu pa da se kontaktiramo tako i da razmenimo iskustva. 1 prijatelj vise nije na odmet...
Probacu bas ovako kako ste korak po korak naveli.
Hvala Vam u svakom slucaju
 
Odgovor na temu

komodozmaj
inzinjering

Član broj: 209693
Poruke: 3
*.dialup.neobee.net.



Profil

icon Re: Problemi sa jednostavnim protokolom komunikacije... COM port19.06.2009. u 21:06 - pre 180 meseci
Koristio sam vas kod sa http://www.codeproject.com/KB/IP/SerialCommunication.aspx uz neke prepravke, ali imam problem sa slanjem na COM port, a svi mi kazu da je to najjednostavnije. Desava se da od momenta slanja do momenta reagovanja externog uredjaja na komandu prodje ravno 10minuta?! Po slanju komande iskljucim komunikacioni kabel... Uredjai su ispravni i savrseno rade iz HyperTerminala. Molim vas da mi pomognete ako znate a ja sam spremam da se na adekvatan nacin oduzim.
Unapred zahvalan
 
Odgovor na temu

[es] :: .NET :: Problemi sa jednostavnim protokolom komunikacije... COM port

[ Pregleda: 1705 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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