完善资料让更多小伙伴认识你,还能领取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文件,对比一下
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2136 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1970 浏览 3 评论
4566 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2116 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2629 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 18:14 , Processed in 0.644854 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号