在对CH32V307根据官方的Systick,例程修改后先是出现了如下问题
可见两次运行我修改的是BSP_delay_MS的数值
并未修改BSP_delay_US,并循环7000次的函数
但从我的CPU运行时间获取函数bsp_GetRuntime();中显示
在先延迟5000MS时,7000次循环期间时间偏差极大(非偶然差异,多次运行为同一结果)
而在先2000MS时,时间偏差却较小。我想不到合理的解释。
其二:随后在载入串口空闲中断接收不定长+DMA发送时出现与预期不符的情况
在此情况下,我程序运行时间应该是2+2+5+2共计11秒
但是CPU运行时间到9秒时就到达了断点(现实中也是9秒左右)。并且可知前两次BSP_Delay_MS(2000);
只执行了一次。
当我注释掉USARTx_Configuration();后
运行结果正常两次BSP_Delay_MS(2000);
均被执行。时间也是标准的11秒。
非常疑惑还望解答
热门产品 :
CH32V317: 互联型青稞RISC-V MCU