stm32 keli勾选use MicroLIB发生的不可思议的事情

2019-07-20 01:04发布

闲来无事,又翻出角落的单片机,手里一片老项目的板子
硬件:stm32f103c8t6
想测试一下在一个基础工程里,还能剩多少内存于是写下以下代码
char nc[1000];
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
                //        HAL_UART_Transmit_IT(&huart1 ,&a[0],12);
                //HAL_UART_Transmit(&huart1,(uint8_t*)a,10,0xFFFF);
                HAL_Delay(100);
                for(i=0;i<1000;i++){                            <<-------------------------------------死在这里面了;
                                nc[i]=55;
                }
                HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
  }

百思不得解。把for里的内容改为nc[5]=i%256;则能正常跑。一度怀疑自己java写多了不会c了?
后来无意间发现自己在keil里勾选了use MicroLIB 库,去掉勾选,程序正常。
原子大哥,请问这个是怎么一回事啊,这以后都不敢写了都
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。