cosmopolitan
Jan 5 2018, 21:27
Добрый день, господа форумчане. Возникла следующая проблема.
Имеется STM32F4Discovery и Ethernet-физика DP83848. Девайсы соединены по RMII. Я открываю CubeMX, выбираю МК STM32F407VG, Ethernet по RMII и поддержку LwIP (задаю статический IP). Далее встаёт вопрос: какую последовательность действий нужно выполнить, чтобы слать на другое устройство со статическим IP UDP-пакеты? Я и гуглил, и смотрел примеры, но всё равно не понимаю, как вообще обмениваться данными с LwIP. Расскажите, пожалуйста, если кто знает, как это делать, или хотя бы в какую сторону копать? А то я в полном вакууме. Спасибо.
Начинать надо как обычно с google.com
https://electronix.ru/forum/index.php?showtopic=133072или посмотреть примеры
LwIP_UDP_Echo_Client
LwIP_UDP_Echo_Server
можно еще прочитать
http://www.st.com/content/ccc/resource/tec....DM00036052.pdfВ общем - вариантов масса.
cosmopolitan
Jan 6 2018, 12:39
Цитата(x893 @ Jan 6 2018, 12:22)

Начинать надо как обычно с google.com
https://electronix.ru/forum/index.php?showtopic=133072или посмотреть примеры
LwIP_UDP_Echo_Client
LwIP_UDP_Echo_Server
можно еще прочитать
http://www.st.com/content/ccc/resource/tec....DM00036052.pdfВ общем - вариантов масса.
Указанную Вами тему видел, там проблема также решилась обращением к примерам, но конкретики я там не увидел. Указанный пример также смотрел. Возможно, я не очень хорошо ориентируюсь в больших С-проектах, но вот, например, такой фрагмент из примера
Код
struct udp_pcb *upcb;
...
upcb = udp_new();
Keil даже не пропускает -- выдаёт ошибку "a value of type "int" cannot be assigned to an entity of type "struct udp_pcb *"
cosmopolitan
Jan 6 2018, 13:55
Последняя проблема решилась подключением lwip/udp.h.
Теперь компилятор ругается на тип struct ip_addr, мол, он не задан. Подключение lwip/ip_addr.h ничего не изменило. Не могу найти, где определяется этот тип (во всех примерах фигурирует именно он)
Цитата(cosmopolitan @ Jan 6 2018, 16:55)

Не могу найти, где определяется этот тип (во всех примерах фигурирует именно он)
Во всех средах есть соотв. инструмент для поиска
"Find in Files". Позволяет искать во
всех файлах, которые относятся к проекту, в т. ч. инклуды.
Обычно вызывается по CTRL+SHIF+F