主函数中各函数的排序问题!

2019-03-23 18:11发布

int main(void)
{ unsigned int i,j;
  /*!< At this stage the microcontroller clock setting is already configured to
       168 MHz, this is done through SystemInit() function which is called from
       startup file (startup_stm32f4xx.s) before to branch to application main.
       To reconfigure the default setting of SystemInit() function, refer to
       system_stm32f4xx.c file
     */  
  USART_Config();
  DMA_Config();
  NVIC_Config();
  GPIO_SetBits(GPIOF, GPIO_Pin_10); //关闭LED
  //add a long delay wait for DP83848 finish reset  
       
                for(i=0;i<50;i++){
                        for(j=0;j < 65500;j++);
                }
#ifdef SERIAL_DEBUG
  DebugComPort_Init();  
#endif       
          

          ETH_BSP_Config();                                /* Initilaize the LwIP stack */
        LwIP_Init();                                      /* tcp echo server Init */         
          tcp_echoserver_init();                        /* Infinite loop */


while (1)
  {
  if(ETH_CheckFrameReceived()){/* check if any packet received */                  
                              LwIP_Pkt_Handle();/* process received ethernet packet */        
}
LwIP_Periodic_Handle(LocalTime); /* handle periodic timers for LwIP */        
}
以上是我的主函数,在主函数中主要有串口初始化函数和lwip初始化函数,现在是串口函数能用,网络部分没反应;当这两部分函数的位置互换,结果就是网络好用,串口没反应。有明白的帮着解释解释啊。。。。。。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
lidonglei1
1楼-- · 2019-03-23 21:48
 精彩回答 2  元偷偷看……
liuyimao485812
2楼-- · 2019-03-23 22:06
应该说函数的位置是没有关系的,程序是一步一步执行的。只要能执行到就可以,可能子函数没有执行。
ywlzh
3楼-- · 2019-03-24 01:37
建议硬仿真一下,看下初始化程序怎么没有执行下去,这样也能找到问题所在,我也是第一次听说,函数换个位置就有不同的结果,个人觉得是硬件电路的问题

一周热门 更多>