MCU为CH32V307VCT6,主程序初始化网络库后,设置了一个定时器中断(间隔时间0.5ms),在中断处理函数里面调用如下代码:
WCHNET_MainTask(); //以太网库主任务函数,需要循环调用
if (WCHNET_QueryGlobalInt()) // 查询以太网全局中断,如果有中断,调用全局中断处理函数
{
WCHNET_HandleGlobalInt();
}
然后main()函数进入一个循环处理其他事情。
运行后开始能正常收发网络数据,但是过一段时间后,MCU的网络就不通了。如果不在中断处理函数里面调用上面那几句,改在main()函数的主循环里面调用,则一切正常。不知是什么原因?