基于STM32F107裸机移植LWIP(STM32CUBE配置)

MCU:STM32F107

PHY:KSZ8081

LWIP_VERSION:2.0.3

1.配置RCC,串口,定时器

1.1 开启RCC,使用内部8M晶振,配置系统时钟

 

1.2 打开调试串口1,打开接收中断,开启DMA发送

1.3 打开定时器中断

2.ETH配置参数

PHY地址怎么确定?看PHY硬件手册和硬件原理图

 

 

2.1 PHY前16个寄存器是通用的标准的,不需要修改。修改下PHY控制状态寄存器的偏移,以及哪个BIT位代表速度哪个BIT位代表全双工、半双工。我们可以看下PHY的丛植状态寄存器

 

 2.2  开启连接和状态回调函数,这样可以实现网线插上和拔下的时候触发事件,能够拔下网线的时候缓存数据,插上网线的时候重新申请IP地址并连接服务器。

在ethernetif.c文件里面

 void ethernetif_notify_conn_changed(struct netif *netif)
{
  /* NOTE : This is function could be implemented in user file 
            when the callback is needed,
  */
    DebugUARTPrintf("conn_changed");
    if(netif_is_link_up(netif) && !netif_is_up(netif))
    {
         netif_set_up(netif);
         extern err_t dhcp_start(struct netif *netif);
         dhcp_start(netif);
    }

}

需要把   ethernetif_set_link(netif_default)放到void MX_LWIP_Process(void),并把void MX_LWIP_Process(void)放到主函数里面轮循。

 

基本上到这里就可以PING通了。可以再加上业务层,可以到ST的官方上下载,官方网站上有关于做TCP/UDP客户端以及服务器等等。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值