• VEXcode Robotics Logo VEX Robotics Logo
  • VEX API Home Button VEX API Home Button
  • VEX 123 logo in purple VEX 123 logo in white
  • VEX GO logo in lime green VEX GO logo in white
  • VEXcode AIM logo in blue VEXcode AIM logo in white
  • VEX IQ logo in blue VEX IQ logo in white
  • VEX EXP logo in red VEX EXP logo in white
  • VEX V5 logo in red VEX V5 logo in white
  • VEX CTE logo in green VEX CTE logo in white
  • VEX AIR logo in orange VEX AIR logo in white
  • VEXcode VR logo in gold VEXcode VR logo in white
Léim go dtí an príomhábhar
Ctrl+K

< Back to Platform Select

  • VEX EXP
  • Tagairt API VEX EXP
  • VEXlink
  • Nasc Teachtaireachta
Gaeilge
  • English
  • العربية
  • বাংলা
  • Česky
  • Deutsch
  • Ελληνικά
  • Español
  • Español Latinoamericano
  • Suomi
  • Français
  • हिंदी
  • Magyar
  • Bahasa Indonesia
  • 日本語
  • 한국어
  • Lietuvių
  • Latviešu
  • മലയാളം
  • Nederlands
  • Polski
  • Português
  • Русский
  • Svenska
  • ไทย
  • Türkçe
  • Українська
  • Tiếng Việt
  • 简体中文
  • 繁體中文
  • VEXcode Robotics Logo

Nascleanúint na Rannóige

  • Bloic
  • Python
  • C++
    • Tiomáint
    • Mótair agus Rialaitheoirí Mótair
    • Gléasanna 3-Sreang
    • Inchinn
    • Consól
    • Rialaitheoir
    • Lóighic
    • Gléasanna Calafoirt Chliste
    • VEXlink
      • Nasc Teachtaireachta
      • Nasc Sraitheach
    • Ceall Oibre CTE
  • Ranganna Teagaisc VEXcode

Nascleanúint Ardáin

  • VEX 123 logo in purple VEX 123 logo in white
  • VEX GO logo in lime green VEX GO logo in white
  • VEXcode AIM logo in blue VEXcode AIM logo in white
  • VEX IQ logo in blue VEX IQ logo in white
  • VEX EXP logo in red VEX EXP logo in white
  • VEX V5 logo in red VEX V5 logo in white
  • VEX CTE logo in green VEX CTE logo in white
  • VEX AIR logo in orange VEX AIR logo in white
  • VEXcode VR logo in gold VEXcode VR logo in white

Nasc Teachtaireachta#

  • Réamhrá

  • Tógálaithe Ranga

  • Scriostóir Ranga

  • Paraiméadair

  • Sampla

  • Feidhmeanna na mBall

    • isLinked

    • seol

    • faigh

    • faighte

Réamhrá#

Ligeann an rang message_link do dhá Inchinn EXP cumarsáid a dhéanamh trí theachtaireachtaí gearra teaghrán a sheoladh le sonraí beaga roghnacha. Tá sé deartha le haghaidh comhordú róbat go róbat — amhail gnáthaimh a thosú, torthaí braiteoirí a roinnt, nó iompraíochtaí a spreagadh ar róbat eile.

Cuireann gach úsáid a bhaintear as send teachtaireacht le scuaine an EXP Brain nasctha, agus léitear an scuaine isteach ar dtús, amach ar dtús (FIFO). Má sheoltar il-theachtaireachtaí sula n-úsáideann an EXP Brain eile receive, stórálfar agus cuirfear ar ais iad ceann ar cheann san ord inar seoladh iad. Ós rud é gur féidir le teachtaireachtaí scuaine a dhéanamh, d’fhéadfadh sé go gcruthófaí riaráiste má sheoltar an stádas céanna arís agus arís eile i ngach lúb; i gcás loighic ríthábhachtach ó thaobh ama de, seoltar ach amháin nuair a athraíonn luachanna.

Tábhachtach: Caithfidh an dá róbat tionscadail a úsáideann message_link a bheith ag rith ag an am céanna, nó ní sheolfar/nasc_teachtaireachta ar bith.

Tógálaithe Ranga#

message_link( 
  int32_t     index, 
  const char  *name, 
  linkType    type, 
  bool        isWired = false );

Scriostóir Ranga#

Scriosann sé an réad message_link agus scaoileann sé acmhainní gaolmhara.

virtual ~message_link();

Paraiméadair#

Paraiméadar

Cineál

Cur síos

index

int32_t

An Port Cliste a bhfuil an Raidió V5, nó an Cábla Cliste, ceangailte leis, scríofa mar PORTx, áit a seasann x don uimhir phoirt (mar shampla, PORT1).

name

char

Ainm an Nasc Teachtaireachta.

type

linkType

An cineál nasc, bíodh sé linkType::manager nó linkType::workerÚsáidtear an fhaisnéis seo chun an raidió a chumrú i gceart agus cinneann sé an bandaleithead atá ar fáil le haghaidh tarchuir agus glactha freisin. Tá dhá oiread an bandaleithead atá ar fáil ag róbat bainisteora (1040 beart/soicind) chun faisnéis a sheoladh chuig an róbat oibrí (520 beart/soicind).

  • linkType::manager - Is bainisteoir an réad message_link.
  • linkType::worker - Is oibrí an réad message_link.

isWired

bool

Cibé an bhfuil an réad message_link sreangaithe.

  • true - Tá an réad message_link sreangaithe.
  • false - Tá an réad message_link gan sreang.

Sampla#

Cód do Róbat 1

// Create a wireless link in Port 1
message_link link = message_link(
  PORT1, // index
  "VEXRoboticsLink123456789", // name
  linkType::manager, // type
  true); // isWired

Cód do Róbat 2

// Create a wireless link in Port 1
message_link link = message_link(
  PORT1, // index
  "VEXRoboticsLink123456789", // name
  linkType::worker, // type
  true); // isWired

Feidhmeanna na mBall#

Áirítear leis an rang message_link na feidhmeanna ball seo a leanas:

  • isLinked — Tugann sé seo ar ais an bhfuil an Inchinn seo ceangailte go gníomhach lena Inchinn phéireáilte.

  • send — Seolann sé teachtaireacht chuig an Inchinn phéireáilte.

  • receive — Fanann sé leis an gcéad teachtaireacht isteach eile agus seolann sé ar ais í.

  • received — Cláraíonn sé feidhm le glaoch uirthi aon uair a fhaightear teachtaireacht nua.

Sula nglaotar ar aon fheidhmeanna ball message_link , ní mór sampla message_link a chruthú, mar a thaispeántar thíos:

Cód do Róbat 1

// Create a wireless link in Port 1
message_link link = message_link(
  PORT1, // index
  "VEXRoboticsLink123456789", // name
  linkType::manager, // type
  true); // isWired

Cód do Róbat 2

// Create a wireless link in Port 1
message_link link = message_link(
  PORT1, // index
  "VEXRoboticsLink123456789", // name
  linkType::worker, // type
  true); // isWired

isLinked#

Tugann an modh isLinked ar ais cibé an bhfuil na Brains EXP ar MessageLink péireáilte le chéile.

Available Functions
bool isLinked();

Parameters

Níl aon pharaiméadair ag an bhfeidhm seo.

Return Values

Tugann an fheidhm seo luach booléanach ar ais.

  • true – Tá an dá Inchinn EXP péireáilte agus ag cumarsáid ar an nasc seo.

  • false – Níl an dá Inchinn EXP péireáilte ar an nasc seo.

Notes

Is dea-chleachtas é a sheiceáil i gcónaí go bhfuil na EXP Brains nasctha ag tús tionscadail sula ritheann tú aon chód eile.

Examples

Cód do Róbat 1

// Tell the other robot when the screen is being pressed
  // Create the link
  message_link link = message_link(PORT1, "VEXRoboticsLink123456789", linkType::manager, true);

  // Do not run code UNTIL the Brains are linked
  while (!link.isLinked()){
    wait(0.1, seconds);
  }

  Brain.Screen.print("Robot 1 - Manager");

  // Continuously send if the screen is being pressed
  while (true){
    if (Brain.Screen.pressing()){
      link.send("pressed");
    } else {
      link.send("released");
    }
    wait(0.05, seconds);
  }

Cód do Róbat 2

// Display if the other robot's screen is being pressed

  // Create the link
  message_link link = message_link(PORT1, "VEXRoboticsLink123456789", linkType::worker, true);
  
  // Do not run code UNTIL the Brains are linked
  while (!link.isLinked()){
   wait(0.1, seconds);
  }

  // Continuously check if Robot 1 has sent "pressed"
  while (true){
    Brain.Screen.clearScreen();
    Brain.Screen.setCursor(1, 1);
    Brain.Screen.print("Robot 2 - Worker");
    Brain.Screen.newLine();
    char msg[32] = {0};                         // buffer for incoming message
    int32_t n = link.receive(msg, sizeof(msg), 100);  // wait up to 100ms
    if (n > 0 && strcmp(msg, "pressed") == 0) {
      Brain.Screen.newLine();
      Brain.Screen.print("Manager is being pressed!");
    }
    wait(0.05, seconds);
  }

send#

Seolann sé teachtaireacht thar an nasc nasc.

Available Functions

1 — Seolann sé teaghrán teachtaireachta.

int32_t send( 
  const char *message );

2 — Seolann teaghrán teachtaireachta le double.

int32_t send( 
  const char *message, 
  double      value );

3 — Seolann teaghrán teachtaireachta le int32_t agus double.

int32_t send(
  const char *message, 
  int32_t     index, 
  double      value );

Parameters

Paraiméadar

Cineál

Cur síos

message

const char*

An teachtaireacht le seoladh chuig an Inchinn EXP nasctha eile.

index

int32_t

Slánuimhir le seoladh chuig an Inchinn EXP nasctha eile.

value

double

Dúbailt le seoladh chuig an EXP Brain nasctha eile. Déantar dúbailtí a fhormáidiú go 4 dheachúlacha; má sholáthraítear níos lú deachúlacha, cuirtear nialais ina dhiaidh sin leis go dtí go dtaispeántar 4.

Return Values

Ní thugann an fheidhm seo aon luachanna ar ais.

Notes

Mura seoltar ach message , faigheann an EXP Brain nasctha eile an teachtaireacht chruinn sin.

Má chuirtear luach value (agus innéacs index más soláthraítear) san áireamh, faigheann an Inchinn a fhaigheann teachtaireacht ionchódaithe aonair a chomhcheanglaíonn na réimsí go léir san ord seo: .message_index_value

Examples

Ag baint úsáide as link.send(“string”, 1, 2.55) mar .string_1_2.5500.

Cód do Róbat 1

// Tell the other robot when the screen is being pressed

// Create the link
message_link link = message_link(PORT1, "VEXRoboticsLink123456789", linkType::manager, true);

// Do not run code UNTIL the Brains are linked
while (!link.isLinked()){
  wait(0.1, seconds);
}

Brain.Screen.print("Robot 1 - Manager");

// Continuously send if the screen is being pressed
while (true){
  if (Brain.Screen.pressing()){
    link.send("pressed");
  } else {
    link.send("released");
  }
  wait(0.05, seconds);
}

Cód do Róbat 2

// Display if the other robot's screen is being pressed

// Create the link
message_link link = message_link(PORT1, "VEXRoboticsLink123456789", linkType::worker, true);

// Do not run code UNTIL the Brains are linked
while (!link.isLinked()){
  wait(0.1, seconds);
}
// Continuously check if Robot 1 has sent "pressed"
while (true){
  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Robot 2 - Worker");
  Brain.Screen.newLine();
  char msg[32] = {0};  // buffer for incoming message
  int32_t n = link.receive(msg, sizeof(msg), 100);  // wait up to 100ms
  if (n > 0 && strcmp(msg, "pressed") == 0) {
    Brain.Screen.newLine();
    Brain.Screen.print("Manager is being pressed!");
  }
  wait(0.05, seconds);
}

receive#

Faigheann sé teachtaireacht ón nasc nasc.

Available Functions
int32_t receive(
  char     *buffer,
  int32_t   length, 
  int32_t   timeoutMs = 500 );

Parameters

Paraiméadar

Cineál

Cur síos

buffer

char

An maolán chun an teachtaireacht a fuarthas a stóráil.

length

int32_t

Fad an mhaoláin.

timeoutMs

int32_t

Cé chomh fada i milleasoicindí a fhanfaidh receive le haghaidh teachtaireacht nua ach amháin má tá an scuaine folamh. Is é 300,000 (300 soicind) an réamhshocrú.

Return Values

Tugann an fheidhm seo líon na mbeart a fuarthas ar ais.

Notes
  • receive returns the next queued message from the other linked EXP Brain. Messages are read in FIFO order (oldest unread first). If the queue is empty when receive is called, it waits up to the specified timeout for a new message. If no message arrives in that window, receive returns 0, and any message sent afterward remains in the queue to be read the next time receive is used.

  • Más rud é nár sheol an EXP Brain nasctha eile ach teaghrán string, receive , tugann sé an teaghrán beacht sin ar ais.

  • Má sheol an EXP Brain nasctha eile slánuimhir agus/nó snámhphointe, tugann receive teaghrán ionchódaithe aonair ar ais a chomhcheanglaíonn na réimsí go léir san ord seo: .string_integer_float

    • Mar shampla, má úsáideann an EXP Brain nasctha eile link.send(“string”, 1, 2.55), ansin má úsáideann tú link.receive() , cuirtear teaghrán ionchódaithe ar ais amhail .string_1_2.5500. Is féidir leat an teaghrán ionchódaithe seo a scoilt (féach na samplaí thíos) chun ainm an teachtaireachta, an tslánuimhir, agus na luachanna snámhphointe a bhaint amach.

    • Más fearr leat scoilt/parsáil láimhe a sheachaint, bain úsáid as received chun láimhseálaí a chlárú le haghaidh ainm teachtaireachta ar leith; faigheann an láimhseálaí na luachanna seolta mar argóintí.

Examples

Ag baint úsáide as link.send(“string”, 1, 2.55) mar .string_1_2.5500.

Cód do Róbat 1

// Tell the other robot when the screen is being pressed

// Create the link
message_link link = message_link(PORT1, "VEXRoboticsLink123456789", linkType::manager, true);

// Do not run code UNTIL the Brains are linked
while (!link.isLinked()){
  wait(0.1, seconds);
}

Brain.Screen.print("Robot 1 - Manager");

// Continuously send if the screen is being pressed
while (true){
  if (Brain.Screen.pressing()){
    link.send("pressed");
  } else {
    link.send("released");
  }
  wait(0.05, seconds);
}

Cód do Róbat 2

// Display if the other robot's screen is being pressed

// Create the link
message_link link = message_link(PORT1, "VEXRoboticsLink123456789", linkType::worker, true);

// Do not run code UNTIL the Brains are linked
while (!link.isLinked()){
  wait(0.1, seconds);
}
// Continuously check if Robot 1 has sent "pressed"
while (true){
  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Robot 2 - Worker");
  Brain.Screen.newLine();
  char msg[32] = {0};   // buffer for incoming message
  int32_t n = link.receive(msg, sizeof(msg), 100);  // wait up to 100ms
  if (n > 0 && strcmp(msg, "pressed") == 0) {
    Brain.Screen.newLine();
    Brain.Screen.print("Manager is being pressed!");
  }
  wait(0.05, seconds);
}

received#

Cláraíonn sé feidhm le glaoch uirthi aon uair a fhaigheann an EXP Brain teachtaireacht sheolta.

Available Functions

1 Cláraíonn sé seo glao ar ais do gach teachtaireacht a fhaightear (teachtaireacht + luach).

void received(
    void (* callback)(const char *, const char *, double)
);

2 Cláraíonn sé seo glao ar ais do gach teachtaireacht a fhaightear (teachtaireacht + innéacs + luach).

void received(
    void (* callback)(const char *, const char *, int32_t, double)
);

3 Cláraíonn sé seo glao ar ais le haghaidh teachtaireacht shonrach (teachtaireacht + luach).

void received(
    const char *message,
    void      (* callback)(const char *, const char *, double)
);

4 Cláraíonn sé seo glao ar ais le haghaidh teachtaireacht shonrach (teachtaireacht + innéacs + luach).

void received(
    const char *message,
    void      (* callback)(const char *, const char *, int32_t, double)
);

Parameters

Paraiméadar

Cineál

Cur síos

message

const char *

Ainm an teachtaireachta le héisteacht leis. Mura ndéantar é, ritheann an glao ar ais do gach teachtaireacht a fhaightear.

callback

pointeoir feidhme

Feidhm a fhorghníomhaítear nuair a fhaightear teachtaireacht.

Return Values

Ní thugann an fheidhm seo aon luachanna ar ais.

Callback Signature

1 Faigheann sé ainm an tseoltóra, ainm an teachtaireachta, agus luach.

void callback(const char *, const char *, double)

2 Faigheann sé ainm an tseoltóra, ainm an teachtaireachta, innéacs agus luach.

void callback(const char *, const char *, int32_t, double)

Cineál

Cur síos

1st const char *

Ainm nasc an tseoltóra.

2nd const char *

Ainm an teachtaireachta a fuarthas.

int32_t

An t-innéacs a bhaineann leis an teachtaireacht.

double

An luach a bhaineann leis an teachtaireacht.

Examples

Cód do Róbat 1

// Send whether screen is pressed on left or right
void screen_pressed() {
  if (Brain.Screen.xPosition() < 240) {
    link.send("left");
  } else {
    link.send("right");
  }
}

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();
  
// Create the link
  message_link link(PORT1, "LeftRightLink", linkType::manager, true);

// Do not run code UNTIL the Brains are linked
  while (!link.isLinked()) {
    wait(0.1, seconds);
  }

  Brain.Screen.print("Robot 1 - Manager");

  Brain.Screen.pressed(screen_pressed);

  while (true) {
    wait(10, msec);
  }
}

Cód do Róbat 2

// Create variable to track where screen is pressed
int lastPress = 0;

// Update the variable whenever a new message is received
void message_received(const char* message, const char* linkname, double timestamp) {
  if (strcmp(message, "left") == 0)  lastPress = 1;
  if (strcmp(message, "right") == 0) lastPress = 2;
}

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

// Create the link
  message_link link(PORT1, "VEXRoboticsLink123456789", linkType::worker, true);

// Do not run code UNTIL the Brains are linked
  while (!link.isLinked()) {
    wait(0.1, seconds);
  }

  link.received(message_received);

  // Display if Robot 1's screen was pressed on the left or right
  while (true) {
    Brain.Screen.clearScreen();
    Brain.Screen.setCursor(1, 1);
    Brain.Screen.print("Robot 2 - Worker");
    Brain.Screen.newLine();

    if (lastPress == 1) {
      Brain.Screen.print("Manager pressed LEFT");
    } else if (lastPress == 2) {
      Brain.Screen.print("Manager pressed RIGHT");
    } else {
      Brain.Screen.print("Waiting...");
    }

    wait(0.1, seconds);
  }
}

previous

VEXlink

next

Nasc Sraitheach

On this page
  • Réamhrá
  • Tógálaithe Ranga
  • Scriostóir Ranga
  • Paraiméadair
  • Sampla
  • Feidhmeanna na mBall
    • isLinked
    • send
    • receive
    • received
Innovation First, International
​

Is trádmharcanna nó marcanna seirbhíse de chuid Innovation First, Inc. iad VEX agus VEX Robotics. Cóipcheart ©2026Gach ceart ar cosaint. Is fochuideachta de chuid Innovation First International, Inc. é VEX Robotics, Inc. Is leis na húinéirí faoi seach gach ainm/marc táirge eile de chuid daoine eile. Paitinní agus/nó Paitinní atá ar Feitheamh - innovationfirst.com/patents
Polasaí Príobháideachta an tSuímh / Téarmaí Úsáide an tSuímh / Polasaí Fianán / Polasaí Príobháideachta Bogearraí

Tabhair cuairt ar Leathanach Facebook VEX Robotics Tabhair cuairt ar Leathanach Twitter VEX Robotics Tabhair cuairt ar Leathanach Instagram VEX Robotics Tabhair cuairt ar leathanach YouTube VEX Robotics
Foirm Aiseolais API VEX

Cuirimid luach ar d’aiseolas! Úsáid an fhoirm seo chun moltaí, moladh, nó earráidí a thuairisciú maidir le VEX API. Cuidíonn d’aiseolas linn doiciméadacht VEX API a fheabhsú.

​

Má bhíonn fadhbanna teicniúla agat nó má theastaíonn tacaíocht do chustaiméirí uait, tabhair cuairt ar support.vex.com.

  • Send Happy Feedback
  • Send Sad Feedback

Tabhair faoi deara: roinnfear an URL reatha le do theachtaireacht

Trí do sheoladh ríomhphoist a chur san áireamh, aontaíonn tú go bhféadfadh VEX ríomhphoist ríomhphoist a sheoladh chugat má bhíonn ceisteanna againn faoi d’aiseolas.
Polasaí Príobháideachais >
Tabhair d'aiseolas le do thoil. Aiseolas curtha isteach go rathúil!
Choose Which VEX IQ Generation to View

VEX IQ (1st gen)

VEX IQ (2nd gen)