Продолжаем изучать программирование передачи данных по локальной сети.
Использовать мы будем для этой цели проводной интерфейс 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