Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Stoc Smart CAM TV

Ce corzi de chitara sa cumpar?

Galaxy A54 compass defect?

Cumparare AC Gree [Buget maxim 30...
 Telekom

Ce e aratarea asta ?

Probleme timonerie schimbator sau...

Numar strada gresit in contractul...
 Centrala Ariston Cares Premium 24...

La multi ani @Klasse!

La multi ani @shmecherul!

pareri ipad 6-2018- flip
 Cum au aparut supermarketurile in...

Campanii mincinoase Carrefour

Tv toshiba defect

touchscreen navigatie stricat
 

c# comunicare port serial

- - - - -
  • Please log in to reply
5 replies to this topic

#1
strosala

strosala

    Junior Member

  • Grup: Members
  • Posts: 55
  • Înscris: 14.05.2009
Salutare. Am un apart care este conectat la PC printr-un port serial, aparatul nu transmite date catre PC doar daca ii transmit anumite interogari in format HEX atunci el returneaza datele cerute. Aplicatia pe care o fac este in C# si am reusit sa ma leg de aparat cu o singura interogare, dar doresc sa comunic in felul urmatoar: send - request, send - request, send - request. Pentru asta am pus un timer in felul urmator:
private void timer1_Tick(object sender, EventArgs e)
		{
			try
			{
				if (!port.IsOpen)
					port.Open();
				byte[] Nr = new byte[6] { 0x40, 0x03, 0x03, 0x03,0x30, 0x30);
				port.Write(Nr, 0, 6);

				Thread.Sleep(1500);

				port.Write(Data, 0, 10);

				//Thread.Sleep(1000);
			}
			catch (Exception ex)
			{
				MessageBox.Show(ex.Message, "Error!");
			} 
		}

Dar nu stiu cum sa construiesc send - request, send - request. Daca ati lucrat cu asa ceva sau veti vreo idee e bine venita. Multumesc.

#2
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,631
  • Înscris: 30.07.2003

View Poststrosala, on 23 octombrie 2013 - 10:44, said:

in format HEX
Nu transmiti nici un hex, tu transmiti octeti. In loc de 0xFF poti la fel de bine sa-i transmiti 255 ca e acelasi lucru.

View Poststrosala, on 23 octombrie 2013 - 10:44, said:

Dar nu stiu cum sa construiesc send - request, send - request.
Ai eveniment de receptie, pe el ai request-ul.

Edited by neagu_laurentiu, 23 October 2013 - 11:06.


#3
strosala

strosala

    Junior Member

  • Grup: Members
  • Posts: 55
  • Înscris: 14.05.2009
Mersi pt. corectie transmit octeti. Atunci in acest timer pot introduce mai multe comenzi? E prima data cand lucrez cu serial port.

#4
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,631
  • Înscris: 30.07.2003
Poti insa nu astepti si raspunsul, sa-l analizezi, poate a returnat eroare, mai dai inca o data comanada daca nu a mers etc.

Ai in documentatia lui tot felul de exemple: http://msdn.microsof...serialport.aspx

Ai un COM virtual (doua de fapt, legate intre ele), tu esti la ambele capete si te joci cum vrei pana intelegi ce se intampla acolo: http://com0com.sourceforge.net/

Edited by neagu_laurentiu, 23 October 2013 - 11:15.


#5
strosala

strosala

    Junior Member

  • Grup: Members
  • Posts: 55
  • Înscris: 14.05.2009
Mersi Neagu, asta vad acum, eu nu astept raspunsul asta e greseala. Imi zici te rog cum as putea face sa astept raspunsul si apoi sa continuu.

#6
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,631
  • Înscris: 30.07.2003
Ti-am zis, pe evenimentul in cauza, ai si exemple. Nu vreu sa-ti dau acum cod, citeste un pic documentatia. E spre binele tau asa.

Edited by neagu_laurentiu, 23 October 2013 - 11:26.


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate