Перейти к содержанию
    

Lwip UDP send ZC706

Добрый день! Нужна помощь. Есть задача посылать UDP пакеты с отладочной платы ZC706 c определенной частотой. За основу взял следующий код и библиотеку lwip:

 

while (1)
{
     xemacif_input(netif);
     count++;

     if (count == 80000)
     {
         p = pbuf_alloc(PBUF_TRANSPORT, buflen, PBUF_POOL);
         if (!p)
         {
            xil_printf("error allocating pbuf \r\n");
            return ERR_MEM;
         }
         PayloadID(data); // функция генерации данных
         memcpy(p->payload, data, buflen);
         udp_send(udp_1, p);
          xil_printf("\n SEND UDP Packets \r\n");
          count = 0;
          pbuf_free(p);
     }
}

 

Возникает следующая проблема: при просмотре на приемном компе с помощью Wireshark наблюдаю, что первый пакет выходит одновременно со вторым с минимальной задержкой (как будто второй его выталкивет), третий выходит один с задержкой, четвертый выходит вместе с пятым и т.д. Кто-нибудь знает почему так может быть? Почему пакеты через один выходят сразу по два? Через отладчик вижу что функция udp_send проходит нормально через if (count == 80000), но на приемнике пакеты слипаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 ASD100288:

Ключевое словосочетание тут "на приемном компе". Если вы работает из под-оси то у вас всегда будет, скажем так, внутренее "манагерство" пакетов осью :biggrin:

В принципе как опыт - попробуйте задать интервалы в секунд 10-20 и посмотреть что будет ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...