Меню сайта
Календарь
|
ENC28J60 + STM32F4 + uIP
Захотілось мені якось, подружити плату STM32F4_Discovery із модулем ENC28J60.Сама F4 Discovery була використана здебільше для того,що до неї є тисячу і один приклад. Насправді моя задача була в тому ,що потрібно було "поюзати" SPI в STM32, та заодне згадати, що до чого (оскільки останній час "висів" на AVR-ах,a тут намітився проектик на STM). Хоча в мережі і багато прикладів для F4 Discovery + ENC28j60,та мені прийшлось збирати проект самому. В якості компілятора я використовував Keil 5 .За основу взятий цикл статей Lifelover'a ,та ось цей матеріал - http://we.easyelectronics.ru/electro-and-pc/stm32-uip-enc28j60.html. Взагалі наведені тут приклади,взяті із сторінки розробника uIP Adama Dunkelsa на github.com . Частина 1.Пінгуємо.В проекті використовується FreeRTOS - операційна система реального часу. Я взяв готову заготовку проекта FreeRTOS із сайта https://github.com/. Далі "прикрутив" до проекта uIP. Примінюємо SPI2. З нього і розпочнем. // Ініціалізація : RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB , ENABLE); GPIO_InitTypeDef GPIO_InitStruct; // connect SPI1 pins to SPI alternate function GPIO_Init(GPIOB, &GPIO_InitStruct); SPI_InitTypeDef SPI_InitStruct; SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4;
Пін RESET на Discovery не використовується, хоча в матеріалі з we.easyelectronics.ru. використовується. Із модуля ENC28J60 цей пін підключений через резистор 2,4 кОм на плюс живлення (+3,3 В) самого модуля.Справа в тому ,що я мав нагоду "юзати" модуль enc28j60 із Atmega32 ( kibermaster.net),і підключав саме так. Доречі сам модуль в мене заживлений від свого блока живлення,оскільки enc28j60 доволі багато споживає(~250 mA). До того ж люди в мережі рекомендують робити саме так,а не заживлювати модуль від Discovery,на якому встановлений заслабкий стабілізатор. IP- адреса модуля ENC28J69 в мене - 192.168.1.170. Cам проект "Hello World" для Keil 5 - http://radiomanoff.at.ua/load/f4_enc28j60/1-1-0-30 Програмуємо плату та запускаєм.Вводимо команду ping 192.168.1.170 і в результаті отримуємо: Далі вводимо команду telnet 192.168.1.170 1000 Тиснемо ENTER, та вводимо своє ім'я (наприклад user).Ну і отримуємо - Hello user. // ********************************************************************************************************************************************** Частина 2.Webserver. Використовуемо папку webserver ( https://github.com/adamdunkels/uip/tree/master/apps ).В файлі uip-conf.h розкоментуємо #include "webserver.h".Збираємо проект , прошиваєм Discovery. В браузері набираємо наш IP ,і ось спостерігаємо, таку картину : Нажимаємо на File statistics: і т.д... Адреса компютера, через команду arp -a :
|
Архив записей
Друзья сайта
Статистика
Онлайн всього: 1 Гостей: 1 Користувачів: 0 |