MCU為CH32V307VCT6,主程序初始化網(wǎng)絡(luò)庫后,設(shè)置了一個定時器中斷(間隔時間0.5ms),在中斷處理函數(shù)里面調(diào)用如下代碼:
WCHNET_MainTask();? ? ? ? ? ? ? //以太網(wǎng)庫主任務(wù)函數(shù),需要循環(huán)調(diào)用
if (WCHNET_QueryGlobalInt()) // 查詢以太網(wǎng)全局中斷,如果有中斷,調(diào)用全局中斷處理函數(shù)
{
WCHNET_HandleGlobalInt();
}
然后main()函數(shù)進(jìn)入一個循環(huán)處理其他事情。
運行后開始能正常收發(fā)網(wǎng)絡(luò)數(shù)據(jù),但是過一段時間后,MCU的網(wǎng)絡(luò)就不通了。如果不在中斷處理函數(shù)里面調(diào)用上面那幾句,改在main()函數(shù)的主循環(huán)里面調(diào)用,則一切正常。不知是什么原因?