完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
//网卡接收数据(lwip直接调用)//netif:网卡结构体指针
//返回值:ERR_OK,发送正常 // ERR_MEM,发送失败 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; delay_ms(2); err=netif->input(p, netif); //调用netif结构体中的input字段(一个函数)来处理数据包 if(err!=ERR_OK) { LWIP_DEBUGF(NETIF_DEBUG,("ethernetif_input: IP input errorn")); pbuf_free(p); p = NULL; } return err; } err=netif->input(p, netif); //调用netif结构体中的input字段(一个函数)来处理数据包 运行到这里就进入了硬中断里去了 程序就卡死了 该如何解决呢? |
|
相关推荐
5个回答
|
|
|
拜托 拜托 还有大神吗?在线坐等
|
|
|
|
|
|
网友都说是因为指针指飞了,才出现进入硬件中断里去的 那么该如何调试呢
|
|
|
|
|
|
有大神可以说上两句吗
|
|
|
|
|
|
建议进入netif->input(p, netif); 函数里面,
单步运行,看看到哪里就出错了。 我估计应该是接收缓冲没有定义好,导致溢出了。 还有一种可能是化LWIP定时器没有初始化,导致出现死等待了。 请检查 sys_arch.c 文件内的 init_lwip_timer 函数。 |
|
|
|
|
|
参考下库自带的lwip文件,对比一下
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2776 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2379 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2255 浏览 0 评论
2367 浏览 1 评论
1625 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 17:48 , Processed in 0.696244 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1672