移植了ucos-ii和lwip-2.0.0到开发板上,根据官网例程 enet_io 编写网口驱动程序。
目前在网口的中断程序中是这样实现的
{
1.获取中断状态标志
2.使用消息队列将标志发送到任务去处理
3.关闭网口接受、发送、PHY等中断(在任务中开启中断)
}
目前的问题是在拔掉网线以后,能够触发中断,中断标志显示为PHY中断,然后将该中断放到消息队列中,程序继续向下执行。
但是在任务处理之前,网口中断又被触发,获取中断状态标志以后,得到的是‘0’。对于这一点很疑惑。
因为在将标志位发送到消息队列以后,ISR中会关闭中断,按道理不应该产生中断才对,而且即使产生了通过获取中断状态标志也不应该为‘0’。
不知道大家有没有遇到过
xyz549040622:
你这个涉及到具体的项目,只能自己慢慢调试了。