配置以太网接口的一些问题

       接着上篇博客话题,继续我的项目总结,上篇讲到出现了,error:A1586E:  Bad operand types(UnDefOT,Constant) for operator(,按照前面提到的方法,编译已经通过,终于可以安安心心地把程序下载到板子上了。用STM32CubeMX配置的过程如下:

配置以太网接口的一些问题


配置以太网接口的一些问题


配置以太网接口的一些问题

我期待地等了一分钟,发现板子毫无反应,以太网接口亮都不亮,网线是插了又拔,拔了又插,电源是开了又关,关了又开,板子就是毫无反应。然后拿出硬件原理来对照发现配置中少了一个复位引脚,如果不对接口复位,以太网接口是无法工作的,于是对配置进行了如下修改:

配置以太网接口的一些问题

硬件修改完毕之后,在程序也要做一定的修改,在static void low_level_init(struct netif *netif)这个函数中,我们要加一段复位代码如下所示:

 /* USER CODE BEGIN MACADDRESS */
 HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_RESET);      //复位
for(x=0;x<4000;x++)
{
y++;
}
HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_SET);           //复位结束
  /* USER CODE END MACADDRESS */

编译之后,下载到板子中,发现以太网接口亮了。我觉得这一切应该可以圆满结束了,一切就绪准备ping一下,发现是我想多了,板子亮了,但依然无法工作,还是有坑,这些坑会在后面的博客中继续更新。