STM32有以中断方式读以太网的范例吗?

2019-03-23 19:26发布

我要写一个以太网转USB的驱动,将以太网接收到的数据通过USB转发到上位机。我已经实现了查询方式从以太网接收数据然后通过USB转发,但是速度太慢。我希望通过中断方式从以太网读取数据,即以太网接收中断来一次,我即使用ETH_HandleRxPkt()函数读一次BUF获取数据(我不走上层协议),我目前使用STM32官网的范例:stm32_eth_lib和STM32F107_ETH_LwIP_V1.0.0都只实现了以查询方式来从以太网读取数据,即在while 1循环中不断的查询,然后读取网卡发过来的数据,但是这样明显速度太慢。其中STM32F107_ETH_LwIP_V1.0.0有中断函数的初始化:NVIC_InitStructure.NVIC_IRQChannel = ETH_IRQn;但是只有当我不注释main函数中的"LwIP_Init()"代码才能进入相应的中断函数,感觉STM32F107_ETH_LwIP_V1.0.0这个中断是有了协议栈的中断,但是我并不需要协议栈,我只需要网卡硬件接收到一帧数据,立即读出即可。
请问有没有采用中断方式读网卡的范例?

[ 本帖最后由 vikione 于 2012-11-20 21:20 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
lnhjsdf
1楼-- · 2019-03-24 04:09
/ 楼主 你在干什么啊
vikione
2楼-- · 2019-03-24 06:22
我在做一个用以太网转USB口的设备,需要将以太网实时接收的数据通过USB转发给上位机,现在以太网部分用的是查询方式,我想改成中断方式读取数据,这样更快一些。

一周热门 更多>