本帖最后由 luokanx 于 2017-9-13 15:45 编辑 使用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 \r\n",a,temp); adcx=Get_Adc_Average(ADC_Channel_1,10); temp=(float)adcx*(3.3/4096); printf("%d:v1=%f \r\n",a,temp); } return(0); } 运行结果: |
没用啊。。。你没有遇到过?
应该是复位导致的,如二楼说的,价格while(1)死循环。注意代码优化,如果光写一个while会优化掉。
什么复位造成的哟?
还是会运行3次
加个while(1)确实可以,重新试了一下。