Lwip клиент с ОСРВ - PullRequest
0 голосов
/ 27 января 2020

Я пытался написать код для клиента, используя lwip / tcp. У меня была проблема с функцией tcp_connect, ошибка 252. Затем я обнаружил, что не могу использовать его с FreeRTOS обычным способом. Кто-нибудь может дать мне подсказку или, если есть, пример для этого?

Спасибо, Ана

1 Ответ

0 голосов
/ 19 марта 2020

У lwip есть 3-уровневый API:

  1. API в стиле обратного вызова или API RAW - при выделении печатных плат используется обратный вызов для событий. Этот API не является поточно-ориентированным и не используется с RTOS.
  2. netconn API - поточно-безопасный API, который следует использовать с RTOS (opt NO_SYS = 0). Используется чаще всего, как я знаю.
  3. API-интерфейс для сокетов - потокобезопасный API-интерфейс, похожий на BSD-сокеты, который следует использовать с RTOS (opt NO_SYS = 0).

Так что с FreeRTOS вам следует используйте API-интерфейс netconn или API-интерфейс сокетов. Пожалуйста, проверьте сначала https://lwip.fandom.com/wiki/Netconn_API

Для примеров - пожалуйста, проверьте ваш поставщик примеров MCU. Если он не существует - посмотрите примеры из STM32, например https://www.st.com/resource/en/user_manual/dm00103685-developing-applications-on-stm32cube-with-lwip-tcp-ip-stack-stmicroelectronics.pdf

...