STM32CUBEMX配置STM32F429的LWIP+RTOS+IIC实现在局域网内ping通学习记录

本文记录了使用STM32CUBEMX配置STM32F429进行LWIP、RTOS和IIC设置,以实现局域网内ping通的过程。遇到的挑战包括PHY地址设置、LAN8720的配置和IIC的使用。通过配置STM32的硬件和软件资源,如ETH、RTOS任务、I2C2,以及处理PCA8574和LAN8720的通信,最终成功实现功能。文章强调理解芯片连接和使用方法的重要性。
摘要由CSDN通过智能技术生成

注 :未经允许请勿转载,请尊重劳动成果,大家都是知识分子!谢谢!

  一开始是用原子的STM32F103的战舰开发版,不过在CUBE配置的时候LWIP的配置死活找不到,只有移植原子的例程这一条路,果断换个板子。

硬件:STM32F429IGTx;

软件:STM32CUBEMX,KEIL5

 首先先配置LWIP,ETH,RTOS,IIC以及RCC,之所以配置IIC,是因为F429的开发版的芯片结构的问题,是由MCU的IIC总线发出 电平信号给PCF8574这个IO拓展芯片,然后再使能LAN8720。

先看ETH的配置:

注:之前在网上找到的都是关于这个PHY地址的解答,都是要置0,但是其实是有问题的,我的PHY芯片是LAN8270T,在原子的阿波罗开发板上,这个地址是需要置1的。

在设置完PHY芯片之后,就是参数的设置

由于CUBE默认生成的是LAN8722A,但是实际上是8720,所以在这里改过来,至于下面的参数,就需要参考相关手册啦,是不是这样子呢?可以试一下喔。

在这里是选择RMII,选这个的原因参考开发版电路原理图,然后后面的PHY Address这里是浮空的,所以设0。

RTOS我在任务列表里面加了2个任务备用,其他就是常规操作啦,这里就跳过啦

然后是IIC的配置,这里选择的是I2C2,因为这个是GPIOH的PH4和PH5是两根数据线和时钟线

 

由于是需要使能ETH_RESET引脚,所以需要另外选择IIC_INT引脚,在CUBE里面,PB12这个引脚没有办法直接选择IIC,而是选择IIC_SMBA,这个总线可以说是IIC的子集,具有相同的使用方法

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值