Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F4discovery + ethernet DP83848
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Метценгерштейн
т.к. плата не имеет PG11 PG13 PG14, то переназначил на PB11 PB12 PB13
Код
/* Configure PG11, PG14 and PG13 */
//  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14;
//  GPIO_Init(GPIOG, &GPIO_InitStructure);
//  GPIO_PinAFConfig(GPIOG, GPIO_PinSource11, GPIO_AF_ETH);
//  GPIO_PinAFConfig(GPIOG, GPIO_PinSource13, GPIO_AF_ETH);
//  GPIO_PinAFConfig(GPIOG, GPIO_PinSource14, GPIO_AF_ETH);
  
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_ETH);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_ETH);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_ETH);


вопрос- не могу в коде найти, где эти ноги дергаются? Т.е. надо же дефайн тоже поменять на порты PB. Так же?
_NB
Цитата(Метценгерштейн @ Aug 13 2014, 15:05) *
т.к. плата не имеет PG11 PG13 PG14, то переназначил на PB11 PB12 PB13
Код
/* Configure PG11, PG14 and PG13 */
  
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_ETH);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_ETH);
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_ETH);


вопрос- не могу в коде найти, где эти ноги дергаются? Т.е. надо же дефайн тоже поменять на порты PB. Так же?

Нигде не дёргаются. GPIO_AF_ETH - это включение альтернативной функции этих ног. Т.е. MAC-контроллер их сам дёргает.
Метценгерштейн
т.е. достаточно просто переписать GPIO инициализацию как у меня и должно работать? Только пинг не проходит.
Что еще надо сделать? IP поменял, режим RMII включил. Что еще забыл?

Увидел, что для 100-пин проца нет никаких альтернатив, кроме ног PB 11 12 13.
Что-то еще у меня сидит.
Метценгерштейн
удалось запустить платку в режиме вебсервера. Но только если адрес DHCP получает плата. Как только закомментировал строку USE_DHCP, сразу статический адрес не хочет присваиваться. И ничего не работает.
Может есть у кого проект рабочий?
bureau
Цитата(Метценгерштейн @ Aug 16 2014, 22:37) *
Как только закомментировал строку USE_DHCP, сразу статический адрес не хочет присваиваться. И ничего не работает.

А зачем вы ее закоментировали? Не проще бы назначить ее нулем?
Метценгерштейн
там же дальше макрос идет, если DHCP, то выполняется определенная часть кода. Поэтому закомментил.
bureau
Посмотрите на внутренности файла lwipopts.h
+
LwIP TCP/IP stack demonstration for STM32F4x7 microcontrollers (AN3966)
Метценгерштейн
вот
http://c2n.me/iLipKn
четко написано, что либо раскомментируйте DHCP, либо закоментируйте.
Что не так?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.