I want to find...

Search

Shares

Table of Content

EthercatDevice_DmpHID.uartReceive()

[EthercatDevice_DmpHID_Generic]

Description

Receive multiple bytes data from the specified UART port of the EtherCAT slave device.

Derived Class:

Class NameVendor IDProduct CodeUARTKeypadLCMMPG
EthercatDevice_QECR11HU1S0x00000bc30x0086d404OO
EthercatDevice_QECR11HU5S0x00000bc30x0086d403O
EthercatDevice_QECR00HU5S0x00000bc30x0086d400O
EthercatDevice_QECR11HU9S0x00000bc30x0086d402OOOO
EthercatDevice_QECR00HU9S0x00000bc30x0086d401OOOO

Syntax

int uartReceive(int dev, void *buf, size_t size);

Parameters

  • [in] int dev
    The specified UART port of the EtherCAT slave device.
    • 0 for COM1.
    • 1 for COM2.
  • [in] void *buf
    The data buffer to be received.
  • [in] size_t size
    The size of the data buffer.

Return Value

Return the number of bytes received. If the return value is smaller than 0, it means an error code.

Comment

This function must be called after a successful execution of EthercatMaster::begin(). This function is non-blocking and can be called within the Cyclic Callback.

Example

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_QECR11HU9S slave;

char buffer[256];
int rc;

void CyclicCallback() {
  slave.update();
}

void setup() {
  Serial.begin(115200);

  master.begin();
  slave.attach(0, master);
  master.attachCyclicCallback(CyclicCallback);
  master.start();
}

void loop() {
  rc = slave.uartReceive(0, buffer, 256);
  for (int i = 0; i < rc; i++) {
    Serial.print(buffer[i]);
  }

  // ...
}

Please see EthercatDevice_DmpHID_Generic Class for more QEC HID slave instructions and API usage.

Scroll to Top