реклама на сайте
подробности

 
 
> stm32F4Discovery ethernet нет прерываний, Ай нид хэлп :(
Fobes
сообщение Jan 31 2016, 12:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 19-01-16
Пользователь №: 90 105



Всем доброго времени суток.
Отладочная: stm32F4Discovery ; физика: dp83848; Интерфейс: RMII;
Открыл SMT32Cube, настроил тактирование, Ethernet на RMII(включил глобальные прерывания), подключил LwIp, сгенерировал проект для keil v5.
Написал код для отправки самодельных пакетов, все отлично работает. Но теперь нужно принимать пакеты. Решил это сделать через прерывание, но туда никогда не попадаю, хотя вроде как должен(Enable Interrupt on change of link status) и при отправке пакета и при приеме...
Помогите начинающему sad.gif куда смотреть, что искать ? уже совсем запутался...

Прошелся отладчиком, нашел такой кусок:
CODE
/**** Configure PHY to generate an interrupt when Eth Link state changes ****/
/* Read Register Configuration */
HAL_ETH_ReadPHYRegister(&heth, PHY_MICR, &regvalue);

regvalue |= (PHY_MICR_INT_EN | PHY_MICR_INT_OE);

/* Enable Interrupts */
HAL_ETH_WritePHYRegister(&heth, PHY_MICR, regvalue );

/* Read Register Configuration */
HAL_ETH_ReadPHYRegister(&heth, PHY_MISR, &regvalue);

regvalue |= PHY_MISR_LINK_INT_EN;

/* Enable Interrupt on change of link status */
HAL_ETH_WritePHYRegister(&heth, PHY_MISR, regvalue);

Вроде должны быть прерывания, но их нет sad.gif ай нид хэлп.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
misyachniy
сообщение Jan 31 2016, 13:06
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Судя по текусту, настраивается сам модуль на генерацию прерывания.
Нужно найти еще функцию, которая вызывается при прерывании.

Дожна быть описана в файле что-то типа "stm32F4xx_it.c"

Там должны быть функции такого типа.

Код
void MemManage_Handler(void)
    {
      /* Go to infinite loop when Memory Manage exception occurs */
      while (1)
      {
      }
    }


Я не работал с SMT32Cube, LwIp, keil.
На сколько я помю, IAR+LwIp есть функция обработчика пакетов.
Нужно ее вызывать из прерывания.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 02:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016