Шаманъ 0 17 декабря, 2018 Опубликовано 17 декабря, 2018 · Жалоба Приветствую всех! Пытаюсь запустить Ethernet на stm32h743 без HAL. Проблема очень странная - как только включаю клок: RCC->AHB1ENR |= RCC_AHB1ENR_ETH1MACEN; Поднимается бит SWR в регистре DMAMR, и собственно все... С PHY общаться получается (по MDIO/MDC). PHY используется LAN8720A, подключение такое (RMII): PA1 <-> CLK PA2 <-> MDIO PC1 <-> MDC PA7 <-> CRS PC4 <-> RX0 PC5 <-> RX1 PB11 <-> TX_EN PB12 <-> TX0 PB13 <-> TX1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integro 0 17 декабря, 2018 Опубликовано 17 декабря, 2018 · Жалоба Должно быть както так: 1. Включаем клоки пинов __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); 2. Конфигурируем пины 3. Включаем __HAL_RCC_ETH_CLK_ENABLE(); 4. Включаем __HAL_RCC_SYSCFG_CLK_ENABLE(); 5. Конфигурируем режим RMII SYSCFG->PMC &= ~(SYSCFG_PMC_MII_RMII_SEL); SYSCFG->PMC |= ETH_MEDIA_INTERFACE_RMII; 6. Cтавим, DMABMR |= ETH_DMABMR_SR 7. Ждем сброса бита Если сброса не происходит значит нет ETH_RX_CLK or ETH_TX_CLK, что говорит о проблеме с PHY или не верной конфигурации пинов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 0 17 декабря, 2018 Опубликовано 17 декабря, 2018 · Жалоба Спасибо за ответ! Разобрался уже сам - забыл включить тип PHY в регистре SYSCFG->PMCR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться