Программирование на СИ в среде Atmel Studio.
Сегодня мы продолжим изучать программирование передачи данных по локальной сети.
Использовать мы будем для этой цели проводной интерфейс LAN.
А в качестве сетевого устройства продолжим использовать модуль на микросхеме ENC28J60, в котором присутствует и физический и канальный уровень. Обмен данными с контроллером данная микросхема осуществляет посредством шины SPI.
Контроллер также будет у нас Atmega328p, который установлен на плате Arduino UNO.
В данном занятии мы изучим транспортный протокол UDP и напишем небольшой UDP сервер, который будет принимать пакет данных из приложения узла и отправлять на тот же порт ответный пакет с другими данными.
Приобрести плату Arduino UNO R3 можно здесь [ Ссылка ]
Приобрести программатор USBASP USBISP 3.3 можно здесь (продавец надёжный) [ Ссылка ]
Приобрести программатор USBASP USBISP 2.0 можно здесь (продавец надёжный) [ Ссылка ]
ENC28J60 Ethernet LAN Сетевой Модуль можно купить здесь (модуль SD SPI в подарок) [ Ссылка ]
Навигация по видео:
00:00 Введение
04:00 Создадим и настроим проект
06:40 Проведём небольшую оптимизацию приёма и отправки сетевых пакетов
12:30 Создадим функцию приёма пакетов UDP и проверим состав пакета в терминальной программе
19:32 Создадим функцию эхо-ответа на пакет UDP, в которой поменяем порты источника и приемника местами, занесём в данные свою строку, а также посчитаем длину пакета
22:07 Немного исправим функцию подсчёта контрольной суммы
24:35 Посчитаем контрольную сумму пакета для отправки и вызовем функцию отправки пакета
25:59 Проверим работу UDP-сервера на практике
Для более понятного просмотра данного видео предварительно рекомендуется посмотреть:
УРОК 40. LAN. ENC28J60. Часть 1 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 2 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 3 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 4 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 5 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 6 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 7 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 8 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 9 [ Ссылка ]
УРОК 40. LAN. ENC28J60. Часть 10 [ Ссылка ]
УРОК 41. LAN. ENC28J60. ARP. Часть 1 [ Ссылка ]
УРОК 41. LAN. ENC28J60. ARP. Часть 2 [ Ссылка ]
УРОК 41. LAN. ENC28J60. ARP. Часть 3 [ Ссылка ]
УРОК 41. LAN. ENC28J60. ARP. Часть 5 [ Ссылка ]
УРОК 42. EXINT или внешние прерывания [ Ссылка ]
УРОК 43. LAN. ENC28J60. Внешние прерывания (EXINT) [ Ссылка ]
Текстовая версия данной части урока, а также исходный код здесь [ Ссылка ]
Группа в контакте [ Ссылка ]
Группа в Одноклассниках [ Ссылка ]
Группа в Facebook [ Ссылка ]
Мой сайт "Программирование МК" [ Ссылка ]
Форум [ Ссылка ]
Вы можете помочь проекту:
ЮMoney
[ Ссылка ]
Webmoney
Z341906933112
Карта Сбербанка (МИР)
2202201799288929
Можно в USDT
1) Сеть:TRC20
Адрес: TBBPFk5Widf1CYvF7Xk5ssKXeiPJHwtMgS
2) Сеть: BSC BNB Smart Chain (BEP20) (комиссия намного меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
3) Сеть: Huobi ECO Chain (HECO) (комиссия еще меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
![](https://i.ytimg.com/vi/G4M0DB5U6WQ/maxresdefault.jpg)