2019-07-20 05:53发布
HCHDaLeiGe 发表于 2018-9-29 16:52 //中断服务函数 void ETH_IRQHandler(void) {
jiangyy 发表于 2018-9-29 17:03 大神,可以加个QQ或者微信吗?做个朋友
最多设置5个标签!
void ETH_IRQHandler(void)
{
while(ETH_GetRxPktSize(ETH_Handler.RxDesc))
{
lwip_pkt_handle();//处理以太网数据,即将数据提交给LWIP
}
//清除中断标志位
__HAL_ETH_DMA_CLEAR_IT(Ð_Handler,ETH_DMA_IT_NIS);
__HAL_ETH_DMA_CLEAR_IT(Ð_Handler,ETH_DMA_IT_R);
}
//当接收到数据后调用
void lwip_pkt_handle(void)
{
//从网络缓冲区中读取接收到的数据包并将其发送给LWIP进行处理
ethernetif_input(&lwip_netif);
}
err_t ethernetif_input(struct netif *netif)
{
err_t err;
struct pbuf *p;
p=low_level_input(netif); //调用low_level_input函数接收数据
if(p==NULL) return ERR_MEM;
err=netif->input(p, netif);
if(err!=ERR_OK)
{
LWIP_DEBUGF(NETIF_DEBUG,("ethernetif_input: IP input error "));
pbuf_free(p);
p = NULL;
}
return err;
}
我的微信是 16675320936
我也只是刚好前段时间做过这一块,大神还谈不上
一周热门 更多>