我有一个
STM32F407,我正在使用 LwIP + DP83848 以太网 PHY。我在 ping 设备时遇到问题,我不知道为什么。
RMII 设置的引出线。
红环到达处理器。蓝色环显示 RESET。以太网 PHY 需要为逻辑 1 (HIGH) 才能启动。绿色环显示一个 LED 灯,当互联网电缆发生某些事情时,它会闪烁,例如我 ping 一个 IP 地址。
振荡器频率为 50 Mhz,我不知道为什么它应该进入我的处理器。这是来自 ST 微控制器的数据表 DS8626。
我认为只为以太网 PTP 写入 50 MHz 就可以了吗?
我已经像这样连接了我的 RJ45 连接器
以太网 PHY 的其他小引脚
未使用的引脚是:
- /* USER CODE BEGIN 0 */
- extern struct netif gnetif;
- int main(){
- /* USER CODE END 0 */
- /* USER CODE BEGIN 1 */
- /* USER CODE END 1 */
- /* MCU Configuration--------------------------------------------------------*/
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
- HAL_Init();
- /* USER CODE BEGIN Init */
- /* USER CODE END Init */
- /* Configure the system clock */
- SystemClock_Config();
- /* USER CODE BEGIN SysInit */
- /* USER CODE END SysInit */
- /* Initialize all configured peripherals */
- MX_GPIO_Init();
- MX_FSMC_Init();
- MX_DCMI_Init();
- MX_SPI2_Init();
- MX_TIM1_Init();
- MX_TIM3_Init();
- MX_ADC1_Init();
- MX_CAN1_Init();
- MX_RTC_Init();
- MX_TIM4_Init();
- MX_DMA_Init();
- MX_UART5_Init();
- MX_LWIP_Init();
- /* USER CODE BEGIN 2 */
- /* Activate DP83848 */
- HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_SET);
- while (1)
- {
- /* USER CODE END WHILE */
- /* USER CODE BEGIN 3 */
- ethernetif_input(&gnetif);
- sys_check_timeouts();
- }