Программирование МК STM32. Урок 120. LAN8742A. LWIP. NETCONN. UDP Server

Опубликовано: 29 Сентябрь 2024
на канале: narod stream
3,373
90

Продолжаем изучать программирование передачи данных по локальной сети.
Использовать мы будем для этой цели проводной интерфейс LAN.
В качестве сетевого устройства мы используем модуль на микросхеме LAN8742, в котором присутствует только один уровень - это только физический.
Тем не менее данная микросхема, а также другие микросхемы линейки LAM87xx обрели огромную популярность в связи с уверенной и быстрой их работой.
В отличие от её предшественников, уже рассмотренных нами в прошлых уроках, она, соответственно, требует наличия желательно аппаратной поддержки канального уровня в контроллере, к которой её подключают, а также наличие там аппаратного интерфейса RMII, предназначенного, также как и MII, для обмена данными между физическим и канальным уровнем.
В качестве микроконтроллера мы будем использовать STM32F746NGH6, который расположен на нашей любимой плате STM32F746G-DISCO, с которой мы прошли ранее немало уроков и знаем о ней далеко не понаслышке.
И также продолжаем использовать библиотеку стека протоколов LWIP, которая нам очень помогает в упрощении сочинения кода.
Теперь мы попробуем создать сервер, в качестве транспортного протокола мы будем использовать UDP.
А интерфейс мы уже будем использовать не RAW, а NETCONN, для чего нам обязательно понадобятся накопленные знания по использованию операционной системы реального времени FreeRTOS.
В качестве клиента будем использовать ПК.

Отладочную плату STM32F746G-DISCO можно приобрести здесь http://ali.pub/2bpa7g

Навигация по видео:
00:00 Введение
02:30 Настроим проект
06:37 Уберём всё лишнее из кода
10:09 Создадим две задачи для передачи пакетов UDP
11:44 Напишем код функции задач для приёма и отправки сетевых пакетов
20:10 Проверим работу кода на практике

Рекомендуется также перед просмотром данного урока просмотреть данное видео:
Урок 96. LAN8720. LWIP. TCP Client. Часть 1    • Программирование МК STM32. Урок 96. L...  
Урок 98. LAN8720. LWIP. TCP Server. Часть 1    • Программирование МК STM32. Урок 98. L...  
Урок 100. LAN8720. LWIP. TCP. Соединяем два контроллера. Часть 1    • Программирование МК STM32. Урок 100. ...  
Урок 102. LAN8720. LWIP. HTTP RAW. Часть 1    • Программирование МК STM32. Урок 102. ...  
Урок 104. FreeRTOS. Бинарные семафоры. Часть 1    • Программирование МК STM32. Урок 104. ...  
Урок 106. FreeRTOS. Создание и уничтожение задач. Часть 1    • Программирование МК STM32. Урок 106. ...  
Урок 108. FreeRTOS. Параметры    • Программирование МК STM32. Урок 108. ...  
Урок 110. FreeRTOS. Приоритеты задач    • Программирование МК STM32. Урок 110. ...  
Урок 111. FreeRTOS. Очереди. Часть 1    • Программирование МК STM32. Урок 111. ...  
Урок 112. FreeRTOS. Таймеры    • Программирование МК STM32. Урок 112. ...  
Урок 114. FreeRTOS. Продвинутая задержка DelayUntil    • Программирование МК STM32. Урок 114. ...  
Урок 116. FreeRTOS. Прерывания. Очереди в прерываниях. Часть 1    • Программирование МК STM32. Урок 116. ...  
Урок 118. LAN8720. LWIP. RAW. UDP Client    • Программирование МК STM32. Урок 118. ...  

Текстовая версия урока и исходный код здесь http://narodstream.ru/stm-urok-120-la...

Группа в контакте http://vk.com/club116656325
Группа в Одноклассниках http://ok.ru/group/52987126153436
Группа в Facebook   / 236905359999556  
Мой сайт "Программирование МК" http://narodstream.ru/
Форум http://narodstream.ru/forum/

Вы можете помочь проекту:

ЮMoney
https://yoomoney.ru/to/41001176473465

Webmoney
Z341906933112

Карта Сбербанка (МИР)
2202201799288929

Можно в USDT
1) Сеть:TRC20
Адрес: TBBPFk5Widf1CYvF7Xk5ssKXeiPJHwtMgS
2) Сеть: BSC BNB Smart Chain (BEP20) (комиссия намного меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
3) Сеть: Huobi ECO Chain (HECO) (комиссия еще меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17