[Raw-OS] 关于关cpu总中断还是关硬件使能模块的答案!

jorya_txj   2012-10-15 21:22 楼主
dm9000 接收数据后会产生中断,这个时候cpu 去接收数据然后处理,过程是这样的。
但是在接收数据中dm9000可能还会再来一次中断,这样的话数据接收就被打断导致错误。

然后分别采用两种思路去解决:
1 关闭dm9000 接收使能 然后接收数据然后把dm9000 的使能模块打开。
2 关闭cpu 总中断然后接收数据然后把cpu 中断再打开。

采用第一种方式的话,关了网卡模块接收使能后,高速数据传输的情况下(tftp 传输10M 文件)40%情况会出现整个网卡模块错误不断的重启。
采用第二种方式的话,由于关中断的时候cpu 能记住中断 pending,所以完全正确。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复