使用nucleo-H473 ZI 2与CubeIDE。当我打印一个1024长的int数组时,SWV ITM数据控制台不会输出所有1024个值。总会丢失一些数据。 以下是程序 int _write(int file, char *ptr, int len){ /* Implement your write code here, this is used by puts and printf for example */ int i=0; for(i=0 ; i<len ; i++) ITM_SendChar((*ptr++)); return len;}然后我打印出数组中的所有值: int print_array[1024]; for(int i=0; i<1024; i++){ print_array = i; } printf("Hello World!\n"); //Print out array values for(int i=0; i<1024; i++){ printf("%d, \n", i); HAL_Delay(5); } HAL_Delay(1000); //Print some more to make sure all data is finished printing for(int i=0; i<2; i++){ printf("Hello World\n"); HAL_Delay(5); } HAL_Delay(100); while(1);但是在SWV ITM数据控制台中得到的结果只包含大约900个数字,而不是1024个数字。数量也在波动。 为什么会发生这种情况,是否有办法避免?
|