在對(duì)CH32V307根據(jù)官方的Systick,例程修改后先是出現(xiàn)了如下問(wèn)題
可見兩次運(yùn)行我修改的是BSP_delay_MS的數(shù)值
并未修改BSP_delay_US,并循環(huán)7000次的函數(shù)
但從我的CPU運(yùn)行時(shí)間獲取函數(shù)bsp_GetRuntime();中顯示
在先延遲5000MS時(shí),7000次循環(huán)期間時(shí)間偏差極大(非偶然差異,多次運(yùn)行為同一結(jié)果)
而在先2000MS時(shí),時(shí)間偏差卻較小。我想不到合理的解釋。
其二:隨后在載入串口空閑中斷接收不定長(zhǎng)+DMA發(fā)送時(shí)出現(xiàn)與預(yù)期不符的情況
在此情況下,我程序運(yùn)行時(shí)間應(yīng)該是2+2+5+2共計(jì)11秒
但是CPU運(yùn)行時(shí)間到9秒時(shí)就到達(dá)了斷點(diǎn)(現(xiàn)實(shí)中也是9秒左右)。并且可知前兩次BSP_Delay_MS(2000);
只執(zhí)行了一次。
當(dāng)我注釋掉USARTx_Configuration();后
運(yùn)行結(jié)果正常兩次BSP_Delay_MS(2000);
均被執(zhí)行。時(shí)間也是標(biāo)準(zhǔn)的11秒。
非常疑惑還望解答