你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
Your UAT Feedback is needed within today.
5.18活动板子会不会是STM32L4呢
STM32隐藏
STM32 CUBE软件中找不到STM32L4系列单片机
应用
AAA
标签选择失败
10.59
测试文章
tiwen
如果使用DHCP,中断有反应,就添加一个有网络数据的标志,
然后在轮询时,重新初始化一下DHCP(注意DHCP是要适当延时的。)
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
方法:
网线连接的状态发生变化
查询的方式
应用程序周期性地去读取PHY的状态寄存器
中断的方式
PHY检测到连接状态发生变化后会产生中断;
应用程序接受到中断后,再去读PHY的状态寄存器确认状态
其他的原因引起的网络连接断开(比如程序跑飞…)
心跳包
处理方式:
网线断开
应用层的处理(释放内存,关闭连接)
关闭MAC, DMA
调用netif_set_down()
如果需要的话关闭DHCP
如果需要的话对PHY进行配置
网线重新连接
重新进行PHY自动协商
重新配置并启动MAC
重新配置网络(IP地址,DHCP…)
调用netif_set_up()
移植步骤
1. 将F756-EVALdemo中和TCP-echo Client相关的文件拷贝过来,添加到新工程中
app_ethernet.c,ethernetif.c,tcp_echoclient.c
app_ethernet.h、ethernetif.h,lwipopts.h,tcp_echoclient.h
添加LwIP协议栈文件到工程中(为节省时间已经先添加好),并修改编译配置,增 加两个寻找路径(LWIP的)
添加stm32f7xx_hal_eth.c文件到工程中
2. 在Main函数中添加:
lwip_init(),Netif_Config(), tcp_echoserver_init()
在while(1)中添加ethernetif_input(),sys_check_timeouts()
3. 在main.c中添加include,相关变量定义( gnetif;), Netif_Config的定义和声明
4. 在main.h中添加静态IP地址等的定义
5. 在stm32f7xx_hal_conf.h中uncomment:
#define HAL_ETH_MODULE_ENABLED
6. 在HAL_ETH_MspInit()中修改pin脚的定义
7. low_level_init()中修改EthHandle初始化参数,MII改为RMII
8. stm32f7xx_hal_conf.h中PHY的地址改为0,并修改EthHandle初始化参数中的PHY地址赋值
9. 修改stm32f7xx_hal_conf.h 中PHY的寄存器地址和mask
10. 删除
low_level_init中设置PHY中断的部分,因为没有用到
netif_config()函数中的netif_set_link_callback()
ethernetif_set_link()和ethernetif_update_config()函数的定义
评分
查看全部评分
某些等待流程是正常的。
评分
查看全部评分
https://www.stmcu.org.cn/document/detail/index/id-218811