[求助] 创建任务会影响ETH上中断

liwei_swjtu   2013-7-2 19:15 楼主
手头上的一个项目,使用stm32 207作MCU,MARVELL60xx系列做交换芯片,现在遇到一个问题。如下所示的初始化代码中:
int main(void)
{
       DebugComPort_Init(); /*初始化RS232串口 */
       InitEth();   /*初始化ETH模块 */

       InitSwitch(); /* 初始化交换芯片 */
       xTaskCreate(TaskTest, "TaskTest",....);/* 创建一个test任务 */
}

TaskTest函数中主要做一些打印工作,无实质性操作动作。

现在的问题是这样的:
若将创建test任务的这一句代码删除,即不创建test任务,将单片机与PC直连,配置同网段IP,无法PING通。
若将创建test任务的这一句代码保留,即创建test任务,将单片机与PC直连,配置同网段IP,可以相互PING通。

现在能确定的是,在不创建test任务时,ETH中收到报文时无中断产生,导致lwip协议栈无法收到报文。

没想明白,创建任务怎么会与硬件中的中断产生联系。请大牛们帮忙看看,谢谢!感激不尽!

回复评论 (2)

不明白你使用的是什么系统?创建任务和系统运行是什么关系?
我的博客
点赞  2013-7-3 10:20

回复 楼主liwei_swjtu 的帖子

1.不知道你用的是什么 RTOS
2.不知道 TaskTest 任务具体干了什么?
3.不创建test任务 ,除了 Ethernet 不能工作之外,MCU 是否进入了 Fault?
点赞  2013-7-3 12:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复