STM32F767IGT6阿波罗正点原子LWIP+Cubemax6.10 ping通网口(裸机)学习
Cubemax的版本不一样导致ETH配置界面不一样,导致如6.10版本就需要在修改PHY Address需要到生成的源码里面进行修改,而在源码修改,由于函数LAN8742_Init(lan8742_Object_t *pObj)里面没有uesr(用户)专门写的位置,每次cubemax重新生成代码的时候就会被刷新掉(应格外注意)。Cubemax6.10版本:

Cubemax6.4版本(网络上找的):

同时要修改两个引脚PG13和PG14,此块板子的两个脚不是ETH默认设置的。



在修改PHY Address的时候,需要到生成的源码里面进行修改,增加这一句代码:

其他的按常规步骤走,LAN8742兼容LAN87..开头型号的PHY芯片:

和电脑直连,失能掉DHCP,用固定的IP地址:

电脑的网络自然要修改成和板子在一个网断的情况下(55是随便设置的,这里随意):

跟407有点区别的是,F767的阿波罗板子ETH_RESET端口不是直连MCU的,而是通过IO扩展芯片扩展出来的,有一点点麻烦需要注意。则需要通过iic驱动pcf8574芯片来控制P7口为高电平延迟一段时间后再拉低一段时间再延迟一段时间。

延迟的时间要注意,遇到过时间较短可能初始化失败的情况,尝试增加到100ms,具体应该参考不同芯片的手册时序图。


PCF8574的iic驱动直接用的是官方的即可:

找到cc.h文件,如果不勾选micro Lib的话,直接注释掉printf这句话:

在cmd里面ping 192.168.001.100即可ping通网络:

STM32F767IGT6阿波罗正点原子LWIP+Cubemax6.10 ping通网口(裸机)学习程序代码:
https://download.csdn.net/download/wxq_l/92538985?spm=1001.2014.3001.5503
更多推荐
所有评论(0)