enc28j60+uip奇怪的问题,特定情况下初始化很多次才成功。

2019-08-17 07:39发布

最近学习uip,mini板+enc28j60模块,enc28j60的驱动直接用的例程里的,参考例程移植了uip,加了几个tcp的测试app,都工作正常。之后又加了个简单的web服务器,在main()中加了web服务器的初始化函数simple_webserver_init(),它的内容就一句uip_listen(HTONS(80)),此时程序就不正常了,每次启动都卡在while(tapdev_init())里面,要初始化好几十次才成功。要是屏蔽掉simple_webserver_init()或者直接用uip_listen(HTONS(80)),每次初始化就一次成功。

更奇怪的是我后来又增加了一个udp的测试app,在main()中simple_webserver_init()后面加了一个udp_test_app_init(),此时反而初始化就一次成功了。

我就奇怪udp_test_app_init()  simple_webserver_init()这几个函数都是放在tapdev_init()后面的,为什么会影响到tapdev_init()的成功呢?请原子哥和各位高手帮忙分析下,谢谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
laidaihua
1楼-- · 2019-08-17 11:39
怀疑你是单步调试跑的while(tapdev_init()),你改成下载后实时运行可能就没问题了。。
这不是刀
2楼-- · 2019-08-17 15:33
回复【2楼】laidaihua:
---------------------------------
没啊,我是下载后实时运行的。
laidaihua
3楼-- · 2019-08-17 17:22
那你怎么知道是跑了几十次才初始化成功呢?如果你使用的while()语句的话,只要初始化不成功就会重复进行初始化,直到初始化成功。。
这不是刀
4楼-- · 2019-08-17 19:41
 精彩回答 2  元偷偷看……
正点原子
5楼-- · 2019-08-17 20:20
通过杜邦线接的?
这不是刀
6楼-- · 2019-08-17 20:53
回复【6楼】正点原子:
---------------------------------
是啊,通过杜邦线接。

一周热门 更多>