Arduino:Библиотеки/Ethernet/Класс EthernetUDP/parsePacket()

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.

Библиотека Ethernet
(Обсуждение Arduino:Библиотеки/Ethernet#disqus_thread)

Функции:

Функция parsePacket()[1]

Проверяет наличие UDP-пакета и возвращает информацию о его размере. Эту функцию нужно вызывать перед тем, как считывать буфер при помощи функции EthernetUDP.read().

Синтаксис

EthernetUDP.parsePacket()

Параметры

Нет.

Что возвращает

Размер полученного UDP-пакета. Тип данных  int

Пример

 1 #include <SPI.h>         // нужно для версий Arduino позже 0018
 2 #include <Ethernet.h>
 3 #include <EthernetUdp.h>         // Библиотека UDP отсюда: bjoern@cs.stanford.edu 12/30/2008
 4 
 5 
 6 // Ниже введите MAC-адрес и IP-адрес для своего контроллера.
 7 // IP-адрес будет зависеть от локальной сети:
 8 byte mac[] = {  
 9   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
10 IPAddress ip(192, 168, 1, 177);
11 
12 unsigned int localPort = 8888;      // локальный порт, который нужно прослушивать
13 
14 // экземпляр EthernetUDP, необходимый для получения и передачи пакетов через UDP:
15 EthernetUDP Udp;
16 
17 void setup() {
18   // запускаем Ethernet и UDP:
19   Ethernet.begin(mac,ip);
20   Udp.begin(localPort);
21 
22   Serial.begin(9600);
23 }
24 
25 void loop() {
26   // если есть доступные данные, считываем пакет:
27   int packetSize = Udp.parsePacket();
28   if(packetSize)
29   {
30     Serial.print("Received packet of size ");  //  "Размер полученного пакета: "
31     Serial.println(packetSize);
32   }
33   delay(10);
34 }

См.также

  1. UDP.read()

Внешние ссылки