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

C# SerialPort Read ponovo

[es] :: .NET :: .NET Desktop razvoj :: C# SerialPort Read ponovo

[ Pregleda: 2805 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

VBscout

Član broj: 30993
Poruke: 34



Profil

icon C# SerialPort Read ponovo04.03.2009. u 15:45 - pre 183 meseci
Pozdrav!!!

Pravim program u C#2008 koji treba da komunicira preko rs232 sa nekom drugom nezavisnom aplikacijom.
Uradio sam lako pisanje na odredjeni port i sa tim nemam problema, ali vec odavno se mucim uraditi nit koja ce non stop citati sta dolazi na port i kada dodju 4 bajta to treba ispisati na labelu.

Google-ao sam dosta bezuspesno i probao razna resenja i pregledao teme na forumu ali nisam uspeo.
A vreme za izradu programa uskoro istice pa ako je moguce da mi neko pomogne.
Da napomenem da prvi put radim nesto ozbiljnije u C#.

Unapred zahvalan!

 
Odgovor na temu

radoica

Član broj: 12972
Poruke: 158
91.150.106.*



+3 Profil

icon Re: C# SerialPort Read ponovo04.03.2009. u 16:35 - pre 183 meseci
BackgroundWorker Class:

http://msdn.microsoft.com/en-u...entmodel.backgroundworker.aspx
 
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: C# SerialPort Read ponovo04.03.2009. u 18:30 - pre 183 meseci
Nešto ovako:
Code:
private SerialPort prtCOM = new SerialPort();

prtCOM.DataReceived += new SerialDataReceivedEventHandler(prtCOM_DataReceived);

private void prtCOM_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
           MessageBox.Show("Data received");
}

I ♥ ♀

Ovaj post je zlata vrijedan!
 
Odgovor na temu

VBscout

Član broj: 30993
Poruke: 34



Profil

icon Re: C# SerialPort Read ponovo04.03.2009. u 20:53 - pre 183 meseci
Pokusavao sam mnogo puta tako,

ali za poziv bilo koje Read metode u telu prtCOM_DataReceived ne mogu dobiti ni priblizno onome sto je poslato.
Logicno bi bilo da radi sledece

Code:

private SerialPort prtCOM = new SerialPort();

byte[] buffer = new byte[4];
int numBytes;

prtCOM.DataReceived += new SerialDataReceivedEventHandler(prtCOM_DataReceived);

private void prtCOM_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
        numBytes = prtCOM.Read(buffer, 0, 4);
        MessageBox.Show(Convert.ToString(buffer)); 
}

ali nece, dobije se ispis SystemByte[]

Znaci problem je samo citanje.

Hvala u svakom slucaju!

 
Odgovor na temu

gavra20
BG

Član broj: 61192
Poruke: 65
91.150.127.*



+5 Profil

icon Re: C# SerialPort Read ponovo05.03.2009. u 14:29 - pre 183 meseci
Mislim da je problem u Convert.ToString(buffer).
Probaj ovako da napravis string od niza byte-ova:
Code:

StringBuilder byteString = new StringBuilder(); 
foreach (byte b in buffer)
{
    byteString.Append(string.Format("{0:X2}", b));
}

MessageBox.Show(byteString.ToString());
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.ptt.yu.



+395 Profil

icon Re: C# SerialPort Read ponovo05.03.2009. u 14:42 - pre 183 meseci
A mozda ovako :
Code:
 
numBytes = prtCOM.Read(buffer, 0, 4);
string strBytesString =  System.Text.ASCIIEncoding.ASCII.GetString(buffer) ; 

Viva lollapalooza
 
Odgovor na temu

VBscout

Član broj: 30993
Poruke: 34



Profil

icon Re: C# SerialPort Read ponovo05.03.2009. u 17:00 - pre 183 meseci
NASAO SAM PROBLEM!

Naime, program koji treba da komunicira sa mojom aplikacijom nema uradjeno
kako treba slanje poruke na odredjeni serijski port, dok citanje ima.

"Nisam verovao!!!!" da ce biti problema dok nisam tek sad probao preko HyperTerminal-a
sta dolazi na port, i tako izgubio ogromno vreme programirajuci serisjku komunikaciju u VC++ i C#.

U svakom slucaju, mislim da je neophodno uraditi konverziju koju je napisao deerbeer(koja meni radi).

I NE ZABORAVITE KORISTITE HyperTerminal ILI NEKI DRUGI SLICAN PROGRAM!!!

Hvala u svakom slucaju!!!

Pozdrav!
 
Odgovor na temu

gavra20
BG

Član broj: 61192
Poruke: 65
*.adsl-a-1.sezampro.yu.



+5 Profil

icon Re: C# SerialPort Read ponovo05.03.2009. u 17:00 - pre 183 meseci
Moze i tako ako VBscout hoce da mu se ispisu ASCII karakteri od byte-ova koje je dobio, a ne sami byte-ovi.
 
Odgovor na temu

gavra20
BG

Član broj: 61192
Poruke: 65
*.adsl-a-1.sezampro.yu.



+5 Profil

icon Re: C# SerialPort Read ponovo05.03.2009. u 17:03 - pre 183 meseci
A izgleda da mu bas to treba .
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: C# SerialPort Read ponovo

[ Pregleda: 2805 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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