为什么STM32F103程序运行3次才结束?

2019-07-14 15:21发布



使用MDK编译器,发现每次程序都会运行3次才结束,不知道各位大大有遇到过吗?怎么才能避免这个啊。以前也遇到过,只是一直没怎么在意,今天又出现了。

程序如下:

int main(void)

{
  int a;
  u16 adcx;
  float temp;
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);
  delay_init();
  LED_Init();
  delay_ms(10);
  uart_init(115200);
  Motor_Init();
  Adc_Init();
   tiM1_Cap_Init(0XFFFF,72-1);  
  PAout(2)=1;
  PAout(7)=0;
  PBout(0)=1;
  PBout(1)=0;
  
  
  for(a=0;a<10;a++)
  {
   adcx=Get_Adc_Average(ADC_Channel_0,10);
      temp=(float)adcx*(3.3/4096);
   printf("%d:v1=%f ",a,temp);
   
   adcx=Get_Adc_Average(ADC_Channel_1,10);
      temp=(float)adcx*(3.3/4096);
   printf("%d:v1=%f ",a,temp);

   
  }
  
  return(0);
}

运行结果:





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
huaxu2222
1楼-- · 2019-07-15 13:53
打断点找找。
60user114
2楼-- · 2019-07-15 18:28
 精彩回答 2  元偷偷看……
不会不会
3楼-- · 2019-07-15 21:07
60user114 发表于 2018-12-10 21:58
加个while(1)确实可以,重新试了一下。

单片机的main函数是不能执行到返回的
jfuwre
4楼-- · 2019-07-15 22:52
可一直接看启动文件的,main本来是一去不复返的函数,结果你main有返回。。。可以看一下启动文件里面mian函数跳出来后,执行了啥,不就知道了?
60user114
5楼-- · 2019-07-16 02:11
jfuwre 发表于 2018-12-10 22:29
可一直接看启动文件的,main本来是一去不复返的函数,结果你main有返回。。。可以看一下启动文件里面mian函数跳出来后,执行了啥,不就知道了?

谢谢
60user114
6楼-- · 2019-07-16 06:44
不会不会 发表于 2018-12-10 22:16
单片机的main函数是不能执行到返回的

谢谢大侠

一周热门 更多>